July 09, 2013
On 08/07/2013 09:07, eles wrote:
> On Friday, 5 July 2013 at 20:25:28 UTC, Bruno Medeiros wrote:
>> Yeah, the default Eclipse workspace settings is to run a build
>> automatically when a file is saved. You can change that option in the
>> "Project" main menu.
>
> Hi, I didn't find that option.

It's right there:
http://i.imgur.com/p1RjAFJ.png
how can it not be? Maybe your Linux Window Manager is doing some funky thing?


-- 
Bruno Medeiros - Software Engineer
July 09, 2013
On Tuesday, 9 July 2013 at 13:12:00 UTC, Bruno Medeiros wrote:
> On 08/07/2013 09:07, eles wrote:
>> On Friday, 5 July 2013 at 20:25:28 UTC, Bruno Medeiros wrote:
> It's right there:
> http://i.imgur.com/p1RjAFJ.png
> how can it not be? Maybe your Linux Window Manager is doing some funky thing?

Well, it was not burried enough for me to find it. I was looking in the "Project->Properties" menu, my fault.

Thanks.
July 09, 2013
On 08/07/2013 09:17, eles wrote:
> On Friday, 5 July 2013 at 20:38:28 UTC, Bruno Medeiros wrote:
>> DMD:
>> [linux|osx|windows]/bin/
>> src/druntime/import
>> src/phobos
>>
>> DMD on Linux global install:
>> usr/bin
>> include/d/dmd
>
> Here is my layout, that I had to manually add. It is the layout
> installed on Debian/Ubuntu by the official DMD .deb packages here
> http://dlang.org/download.html
>
> /usr/bin/dmd
>
> /usr/include/dmd/phobos
> /usr/include/dmd/druntime/import
>

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


> (BTW, why that "import" folder in the druntime configuration? It
> shouldn't be there, I think, but that's not a problem of DDT).
>
>

Why shouldn't it be there? The standard lib is divided in two parts, the runtime and Phobos.


>> GDC:
>> bin/
>> include/d2/<any dir that contains an object.di>
>
> /usr/bin/gdc
>
> (no interpreter system libraries)
>

There has to be an object.di installed somewhere in the system (as well as the other standard library header files). It could be in a zip or some other binary format though (hopefully not).


> OTOH, gdc seems to be configurated in a really outdated manner. The
> console displays:
>
> --------  Build Commands:  --------
> -v2
> -o"bin/dtest02"
>
> -I"src"
>
> "src/main.d"
>
>
> gdc: error: unrecognized command line option ‘-v2’
>
>
> So, after removing the offending "-v2" from the project's "managed
> response file":
>
> -v2
> -o$/DEEBUILDER.OUTPUTEXE
> $/DEEBUILDER.SRCLIBS.-I
> $/DEEBUILDER.SRCFOLDERS.-I
> $/DEEBUILDER.SRCMODULES
>
> it works well.
>
> For installing gdc I used the standard gdc (Ubuntu 4.8.1-5ubuntu1) 4.8.1
> package. It installs gdc v2.


The build file stuff is unrelated to the library locations detection. But yeah, seems the -v2 switch is outdated now, I'll remove it from default response file.

-- 
Bruno Medeiros - Software Engineer
July 09, 2013
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:
>
> Why shouldn't it be there? The standard lib is divided in two parts, the runtime and Phobos.

I agree, I was expecting:

/usr/include/dmd/druntime

instead of:

/usr/include/dmd/druntime/import

just like the phobos has this path:

/usr/include/dmd/phobos

and not this one:

/usr/include/dmd/phobos/import


> There has to be an object.di installed somewhere in the system (as well as the other standard library header files). It could be in a zip or some other binary format though (hopefully not).

For the time being, it seems that gdc works without (knowing about) it...

> The build file stuff is unrelated to the library locations detection. But yeah, seems the -v2 switch is outdated now, I'll remove it from default response file.

Yes, but both the layout (locations) of the files and the compiler version do. I think newer compiler versions are simply not aware about a "v1" of D.

Thank you very much.

July 18, 2013
On Tuesday, 9 July 2013 at 15:58:06 UTC, 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:
>>
>> Why shouldn't it be there? The standard lib is divided in two parts, the runtime and Phobos.
>
> I agree, I was expecting:
>
> /usr/include/dmd/druntime
>
> instead of:
>
> /usr/include/dmd/druntime/import
>
> just like the phobos has this path:
>
> /usr/include/dmd/phobos
>
> and not this one:
>
> /usr/include/dmd/phobos/import
>
>
>> There has to be an object.di installed somewhere in the system (as well as the other standard library header files). It could be in a zip or some other binary format though (hopefully not).
>
> For the time being, it seems that gdc works without (knowing about) it...
>
>> The build file stuff is unrelated to the library locations detection. But yeah, seems the -v2 switch is outdated now, I'll remove it from default response file.
>
> Yes, but both the layout (locations) of the files and the compiler version do. I think newer compiler versions are simply not aware about a "v1" of D.
>
> Thank you very much.


for include dir the FHS way is /usr/include/d/<package name> as is done into deian and fedora
July 18, 2013
> for include dir the FHS way is /usr/include/d/<package name> as is done into deian and fedora

debian* (sorry )

In more they are this project https://github.com/dbuilder-developers/dbuilder

feel free to fork it

it should to
 - follow FHS
 - to be felxible
 - multithreaded
 - support multi os
 - support dmd gdc ldc compiler
July 18, 2013
They are too https://github.com/bioinfornatics/MakefileForD
which use makefile
easy to use just edit the first lines
July 18, 2013
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" +
July 26, 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
August 16, 2013
On Saturday, 29 June 2013 at 15:23:22 UTC, Bruno Medeiros wrote:
> I've released a "Preview Release" of D Development Tools 0.7.0 .
> It's not the final 0.7.0 release, consider it instead a beta version of it.
>
> This preview release features the new parser that now correctly parses D up to version 2.063 . It also passes all automated tests of the 0.6.0 release, so it should not be too far off in quality and stability from that version. But I know there are a few pending bugs and areas that need to be tested due changes in the generated AST, hence I'm not making it a final release yet.
>
> INSTALLATION:
> You can get from this Eclipse update site:
> http://updates.ddt.googlecode.com/git-history/pre-release/
>
> You need Java 7 for this. And you can't any other version of DLTK (Dynamic Languages Toolkit) other than 3.0. (This mean you can use Eclipse 4.x, if you don't have the later versions of DLTK there)
>
> For detailed installation instructions, see:
> http://code.google.com/p/ddt/wiki/Installation
> (but note you have to use the update site mentioned above, not the one mentioned in the wiki. And you don't need to add http://download.eclipse.org/releases/indigo anymore)

I updated to version .0.7.0, through the check for updates, but the DDT and D perspectives do not show up.  They show up on the workspace (no colorful icons), but they are not listed in the 'perferences' and subsequenctly only the default editor shows up.  - windows, eclipse 3.8

Thanks,

Rob