D Development Tools 0.7.0 Preview Release
Bruno Medeiros
brunodomedeiros+dng at gmail.com
Fri Jul 26 12:31:54 PDT 2013
On 18/07/2013 10:15, eles wrote:
> On Tuesday, 9 July 2013 at 13:29:35 UTC, Bruno Medeiros wrote:
>> On 08/07/2013 09:17, eles wrote:
>>> On Friday, 5 July 2013 at 20:38:28 UTC, Bruno Medeiros wrote:
>
>> I'll have to support that as a new feature:
>> http://code.google.com/p/ddt/issues/detail?id=3
>> Should be easy, just a few changes to:
>> http://code.google.com/p/ddt/source/browse/org.dsource.ddt.ide.core.tests/src-test/mmrnmhrm/core/launch/DMDInstallType_Test.java
>>
>> and
>> http://code.google.com/p/ddt/source/browse/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/DMDInstallType.java
>>
>
>> detection. But yeah, seems the -v2 switch is outdated now, I'll remove
>> it from default response file.
>
>
> Is this OK?:
>
> diff --git
> a/org.dsource.ddt.ide.core.tests/src-test/mmrnmhrm/core/launch/DMDInstallType_Test.java
> b/org.dsource.ddt.ide.core.tests/src-test/mmrnmhrm/core/launch/DMDInstallType_Test.java
>
> index 00b2f03..cb26584 100644
> ---
> a/org.dsource.ddt.ide.core.tests/src-test/mmrnmhrm/core/launch/DMDInstallType_Test.java
>
> +++
> b/org.dsource.ddt.ide.core.tests/src-test/mmrnmhrm/core/launch/DMDInstallType_Test.java
>
> @@ -44,8 +44,8 @@ public class DMDInstallType_Test extends BaseDeeTest {
>
> assertTrue(libLocations.length == 2);
> IPath compilerBasePath =
> compilerPath.removeLastSegments(3);
> - checkLibLocation(libLocations[0], compilerBasePath,
> "include/d/dmd/druntime/import");
> - checkLibLocation(libLocations[1], compilerBasePath,
> "include/d/dmd/phobos");
> + checkLibLocation2(libLocations[0], compilerBasePath,
> "include/d/dmd/druntime/import", "include/dmd/druntime/import");
> + checkLibLocation2(libLocations[1], compilerBasePath,
> "include/d/dmd/phobos", "include/dmd/phobos");
> }
>
> public static LibraryLocation[]
> getLibraryLocations(CommonInstallType dmdInstallType, Path compilerPath) {
> @@ -59,5 +59,10 @@ public class DMDInstallType_Test extends BaseDeeTest {
> IPath libraryPath = libLocation.getLibraryPath();
> assertEqualArrays(libraryPath.segments(),
> compilerBasePath.append(string).segments());
> }
> -
> +
> + public static void checkLibLocation2(LibraryLocation
> libLocation, IPath compilerBasePath, String string1, String string2) {
> + IPath libraryPath = libLocation.getLibraryPath();
> + assertTrue(Arrays.equals(libraryPath.segments(),
> compilerBasePath.append(string1).segments()) ||
> Arrays.equals(libraryPath.segments(),
> compilerBasePath.append(string2).segments()));
> +
> + }
> }
> diff --git
> a/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/DMDInstallType.java
> b/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/DMDInstallType.java
> index d8cbcf3..4ec6133 100644
> --- a/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/DMDInstallType.java
> +++ b/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/DMDInstallType.java
> @@ -56,6 +56,14 @@ public class DMDInstallType extends CommonInstallType {
> addLibraryLocationFromPath(locs, env,
> installPath.append("include/d/dmd/phobos"));
> return;
> }
> + // Debian layout (#3)
> + path = installPath.append("include/dmd/druntime/import");
> + if(path.toFile().exists() && path.toFile().isDirectory()) {
> + // Found a D2 DMD install with Unix style install
> + addLibraryLocationFromPath(locs, env, path);
> + addLibraryLocationFromPath(locs, env,
> installPath.append("include/dmd/phobos"));
> + return;
> + }
> // TODO: should we throw an error?
> }
>
> diff --git
> a/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/GDCInstall.java
> b/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/GDCInstall.java
> index 2d3570c..26d76d7 100644
> --- a/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/GDCInstall.java
> +++ b/org.dsource.ddt.ide.core/src/mmrnmhrm/core/launch/GDCInstall.java
> @@ -11,7 +11,6 @@ public class GDCInstall extends CommonDeeInstall {
> @Override
> public String getDefaultBuildFileData() {
> return
> - "-v2\n" +
> "-o$/DEEBUILDER.OUTPUTEXE\n" +
> "$/DEEBUILDER.SRCLIBS.-I\n" +
> "$/DEEBUILDER.SRCFOLDERS.-I\n" +
I've added it in a more comprehensive way:
http://code.google.com/p/ddt/source/detail?r=fd140917a9dacec30e69bdb2e7cce0e0a71ee2d7
(with a bit more refactoring, and an actual test for the new layout,
your patch didn't actually test the new layout was detected)
--
Bruno Medeiros - Software Engineer
More information about the Digitalmars-d-ide
mailing list