For my project I have a main project, metac, and sub-languages that are combined into metac: https://github.com/arian/metac

The sub-languages are added as dependencies in the metac/pom.xml.

However after changes of SDF files in such a sub-language and building the main metac project, the updates are not loaded. Only after cleaning the metac project, rebuilding it and restarting eclipse the changes are loaded.

Changes in the main project, metac/syntax, are loaded after a rebuild.

Eclipse: org.eclipse.epp.package.standard.feature.feature.group 4.4.2.20150219-0708
Spoofax: org.metaborg.spoofax.eclipse 1.5.0.20151130-221944-new-spoofax-plugin
System: Linux amd64 3.13.0-68-generic
Submitted by Arian on 1 December 2015 at 12:13

On 1 December 2015 at 12:51 Gabriël Konat commented:

Is build automatically (in Project menu) on? If so, maybe it is an incrementality issue in the Ant build script. If you run the build for metac after making SDF3 changes, does the Ant build script make a new parse table, or does it skip the step because files are up to date?


On 1 December 2015 at 13:58 Arian commented:

It seems a new parse table isn't created indeed. Toggling "build automatically" doesn't seem to affect this.

13:54 | INFO  | o.m.s.e.m.b.PreJavaBuilder     - Building language project eclipse:///metac
Buildfile: /tmp/vfs_cache/tmp_62047_build.xml

generate-sources:

copy-sdf2:

pack-sdf:
     [echo] include/MetaC.def is up-to-date

copy-sdf:

make-permissive:
     [echo] include/MetaC.def -> include/MetaC-Permissive.def is up-to-date

sdf2table:
     [echo] /home/arian/ws2/metac/metac/include/MetaC-Permissive.def -> /home/arian/ws2/metac/metac/include/MetaC.tbl is up-to-date

meta-sdf2table:

ppgen:
     [echo] include/MetaC.def -> include/MetaC.generated.pp is up-to-date

ppgen.helper.fallback:

pppack:

pppack.helper:

pppack.helper.fallback:

sdf2rtg:
     [echo] include/MetaC.def -> include/MetaC.rtg is up-to-date

sdf2parenthesize:
 [trycatch] Caught exception: required attribute nativepath not set

generate-sources-common:

rtg2sig:
     [echo] include/MetaC.rtg -> include/MetaC.str is up-to-date

stratego.ctree:
   [delete] Deleting: /home/arian/ws2/metac/metac/include/metac.ctree

copy-jar:

stratego.jvm.helper:
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'signatures'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/signatures","/home/arian/ws2/metac/basec/src-gen/signatures","/home/arian/ws2/metac/metac-sm/src-gen/signatures","/home/arian/ws2/metac/metac-bitfield/src-gen/signatures","/home/arian/ws2/metac/metac-err/src-gen/signatures","/home/arian/ws2/metac/metac-csp/src-gen/signatures"]
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'signatures'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/signatures","/home/arian/ws2/metac/basec/src-gen/signatures","/home/arian/ws2/metac/metac-sm/src-gen/signatures","/home/arian/ws2/metac/metac-bitfield/src-gen/signatures","/home/arian/ws2/metac/metac-err/src-gen/signatures","/home/arian/ws2/metac/metac-csp/src-gen/signatures"]
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'signatures'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/signatures","/home/arian/ws2/metac/basec/src-gen/signatures","/home/arian/ws2/metac/metac-sm/src-gen/signatures","/home/arian/ws2/metac/metac-bitfield/src-gen/signatures","/home/arian/ws2/metac/metac-err/src-gen/signatures","/home/arian/ws2/metac/metac-csp/src-gen/signatures"]
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'signatures'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/signatures","/home/arian/ws2/metac/basec/src-gen/signatures","/home/arian/ws2/metac/metac-sm/src-gen/signatures","/home/arian/ws2/metac/metac-bitfield/src-gen/signatures","/home/arian/ws2/metac/metac-err/src-gen/signatures","/home/arian/ws2/metac/metac-csp/src-gen/signatures"]
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'pp'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/pp","/home/arian/ws2/metac/basec/src-gen/pp","/home/arian/ws2/metac/metac-sm/src-gen/pp","/home/arian/ws2/metac/metac-bitfield/src-gen/pp","/home/arian/ws2/metac/metac-err/src-gen/pp","/home/arian/ws2/metac/metac-csp/src-gen/pp"]
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'signatures'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/signatures","/home/arian/ws2/metac/basec/src-gen/signatures","/home/arian/ws2/metac/metac-sm/src-gen/signatures","/home/arian/ws2/metac/metac-bitfield/src-gen/signatures","/home/arian/ws2/metac/metac-err/src-gen/signatures","/home/arian/ws2/metac/metac-csp/src-gen/signatures"]
     [java] [ Main | warning ] Found more than one matching subdirectory found for 'signatures'!
     [java]           ["/home/arian/ws2/metac/metac/src-gen/signatures","/home/arian/ws2/metac/basec/src-gen/signatures","/home/arian/ws2/metac/metac-sm/src-gen/signatures","/home/arian/ws2/metac/metac-bitfield/src-gen/signatures","/home/arian/ws2/metac/metac-err/src-gen/signatures","/home/arian/ws2/metac/metac-csp/src-gen/signatures"]
     [java] [ Main | info ] Front-end succeeded         : [user/system] = [25.89s/0.00s]
     [java] [ Main | info ] Optimization succeeded -O 2 : [user/system] = [2.22s/0.00s]
     [java] [ Main | info ] Abstract syntax in '/home/arian/ws2/metac/metac/include/metac.rtree'
     [java] [ Main | info ] Export of externals succeeded : [user/system] = [0.18s/0.00s]
   [delete] Deleting: /home/arian/ws2/metac/metac/include/metac.rtree

generate-sources-ctree:
BUILD SUCCESSFUL

BUILD SUCCESSFUL
Total time: 33 seconds

On 1 December 2015 at 15:30 Gabriël Konat commented:

That's an incrementality issue, pack-sdf probably does not check for SDF2 files in dependencies. As a workaround, you can make an edit in an SDF3 or SDF2 file in the metac project to force it to generate a new parse table.

I will work on incrementality issues in the build script in about 2 weeks.


On 1 December 2015 at 15:30 Gabriël Konat tagged build

On 4 January 2016 at 11:06 Gabriël Konat commented:

Fixed with the new build system


On 4 January 2016 at 11:06 Gabriël Konat closed this issue.

Log in to post comments