diff options
author | Henrik Rentz-Reichert | 2014-01-28 17:01:27 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2014-01-28 20:22:37 +0000 |
commit | 3fa09676322bbfafb7404e1b128b2dc5cf4f2f6f (patch) | |
tree | c7ec68f1f8a97ed2341bd6d30844e636e77c64eb | |
parent | 9903accdf229fdde0041be0612676122a127f335 (diff) | |
download | org.eclipse.etrice-3fa09676322bbfafb7404e1b128b2dc5cf4f2f6f.tar.gz org.eclipse.etrice-3fa09676322bbfafb7404e1b128b2dc5cf4f2f6f.tar.xz org.eclipse.etrice-3fa09676322bbfafb7404e1b128b2dc5cf4f2f6f.zip |
Bug 422356: [generator.doc] generate a readme.txt in the doc-gen folderv_0.4.0.M3
https://bugs.eclipse.org/422356
13 files changed, 84 insertions, 31 deletions
diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/Main.java b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/Main.java index 1b0fa3da7..f17e4afbf 100644 --- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/Main.java +++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/Main.java @@ -170,7 +170,7 @@ public class Main extends AbstractGenerator { mainGenerator.doGenerate(genModel.eResource(), fileAccess); if (getSettings().isGenerateDocumentation()) { - mainDocGenerator.doGenerate(genModel); + mainDocGenerator.doGenerate(genModel.eResource(), fileAccess); } if (diagnostician.isFailed()) { diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend index c7eaddb7e..5ccfd417a 100644 --- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend +++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/MainGen.xtend @@ -34,7 +34,7 @@ class MainGen implements IGenerator { @Inject PrepareFileSystem prepFS override void doGenerate(Resource resource, IFileSystemAccess fsa) { - prepFS.prepare(resource) + prepFS.prepareCodeTargetPaths(resource) for (e: resource.contents){ if (e instanceof Root) { doGenerate(e as Root) diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java index 9679b7cd8..dbdf09287 100644 --- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java +++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/MainGen.java @@ -52,7 +52,7 @@ public class MainGen implements IGenerator { private PrepareFileSystem prepFS; public void doGenerate(final Resource resource, final IFileSystemAccess fsa) { - this.prepFS.prepare(resource); + this.prepFS.prepareCodeTargetPaths(resource); EList<EObject> _contents = resource.getContents(); for (final EObject e : _contents) { if ((e instanceof Root)) { diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/Main.java b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/Main.java index c6ecdd549..034445c95 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/Main.java +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/Main.java @@ -136,7 +136,7 @@ public class Main extends AbstractGenerator { mainGenerator.doGenerate(genModel.eResource(), fileAccess); if (getSettings().isGenerateDocumentation()) { - mainDocGenerator.doGenerate(genModel); + mainDocGenerator.doGenerate(genModel.eResource(), fileAccess); } if (diagnostician.isFailed()) { diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend index b15b11e28..f19399061 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/MainGen.xtend @@ -32,7 +32,7 @@ class MainGen implements IGenerator { @Inject PrepareFileSystem prepFS override void doGenerate(Resource resource, IFileSystemAccess fsa) { - prepFS.prepare(resource) + prepFS.prepareCodeTargetPaths(resource) for (e: resource.contents){ if (e instanceof Root) { doGenerate(e as Root) diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java index d501de0d3..4b390789b 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java +++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/MainGen.java @@ -48,7 +48,7 @@ public class MainGen implements IGenerator { private PrepareFileSystem prepFS; public void doGenerate(final Resource resource, final IFileSystemAccess fsa) { - this.prepFS.prepare(resource); + this.prepFS.prepareCodeTargetPaths(resource); EList<EObject> _contents = resource.getContents(); for (final EObject e : _contents) { if ((e instanceof Root)) { diff --git a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend index 5cd33ddf5..1d268a405 100644 --- a/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend +++ b/plugins/org.eclipse.etrice.generator.doc/src/org/eclipse/etrice/generator/doc/gen/MainGen.xtend @@ -29,7 +29,7 @@ class MainGen implements IGenerator { @Inject DocGen docGen override void doGenerate(Resource resource, IFileSystemAccess fsa) { - prepFS.prepare(resource) + prepFS.prepareDocTargetPaths(resource) for (e: resource.contents){ if (e instanceof Root) { doGenerate(e as Root) @@ -37,7 +37,7 @@ class MainGen implements IGenerator { } } - def void doGenerate(Root e) { + def private void doGenerate(Root e) { instanceDiagramGen.doGenerate(e); docGen.doGenerate(e); } diff --git a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java index f7e373db8..7e8997ff4 100644 --- a/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java +++ b/plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/MainGen.java @@ -35,7 +35,7 @@ public class MainGen implements IGenerator { private DocGen docGen; public void doGenerate(final Resource resource, final IFileSystemAccess fsa) { - this.prepFS.prepare(resource); + this.prepFS.prepareDocTargetPaths(resource); EList<EObject> _contents = resource.getContents(); for (final EObject e : _contents) { if ((e instanceof Root)) { @@ -44,7 +44,7 @@ public class MainGen implements IGenerator { } } - public void doGenerate(final Root e) { + private void doGenerate(final Root e) { this.instanceDiagramGen.doGenerate(e); this.docGen.doGenerate(e); } diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java index e224e7d50..b6c5980a3 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/Main.java @@ -179,7 +179,7 @@ public class Main extends AbstractGenerator { mainGenerator.doGenerate(genModel.eResource(), fileAccess); if (getSettings().isGenerateDocumentation()) { - mainDocGenerator.doGenerate(genModel); + mainDocGenerator.doGenerate(genModel.eResource(), fileAccess); } if (diagnostician.isFailed()) { diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend index 4f568e58f..ddff8c7bf 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/MainGen.xtend @@ -36,7 +36,7 @@ class MainGen implements IGenerator { @Inject PrepareFileSystem prepFS override void doGenerate(Resource resource, IFileSystemAccess fsa) { - prepFS.prepare(resource) + prepFS.prepareCodeTargetPaths(resource) for (e: resource.contents){ if (e instanceof Root) { doGenerate(e as Root) diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java index 19438456e..49c833a16 100644 --- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java +++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/MainGen.java @@ -65,7 +65,7 @@ public class MainGen implements IGenerator { private PrepareFileSystem prepFS; public void doGenerate(final Resource resource, final IFileSystemAccess fsa) { - this.prepFS.prepare(resource); + this.prepFS.prepareCodeTargetPaths(resource); EList<EObject> _contents = resource.getContents(); for (final EObject e : _contents) { if ((e instanceof Root)) { diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend index 093442539..40d0d8e17 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend @@ -22,6 +22,7 @@ import org.eclipse.etrice.core.genmodel.base.ILogger import org.eclipse.etrice.core.genmodel.etricegen.Root import org.eclipse.xtext.generator.JavaIoFileSystemAccess import org.eclipse.etrice.generator.generic.RoomExtensions +import java.util.Collection /** * A class that is used to recursively erase all folders receiving generated code @@ -34,15 +35,7 @@ class PrepareFileSystem { @Inject JavaIoFileSystemAccess fileAccess @Inject ILogger logger - /** - * Recursively erase all folders receiving generated code - * an to place a readme file into those folders. - * The folders are determined from the used models of every generator - * model found in the resource. - * - * @param resource a {@link Resource} - */ - def void prepare(Resource resource) { + def void prepareCodeTargetPaths(Resource resource) { var Set<String> pathes = new HashSet<String>(); for (e: resource.contents){ if (e instanceof Root) { @@ -53,6 +46,32 @@ class PrepareFileSystem { } } } + prepare(pathes) + } + + def void prepareDocTargetPaths(Resource resource) { + var Set<String> pathes = new HashSet<String>(); + for (e: resource.contents){ + if (e instanceof Root) { + for (mdl : (e as Root).usedRoomModels) { + val tgtpath = mdl.docGenerationTargetPath + if (tgtpath!=null && !tgtpath.empty) + pathes.add(tgtpath) + } + } + } + prepare(pathes) + } + + /** + * Recursively erase all folders receiving generated code + * and place a readme file in those folders. + * The folders are determined from the used models of every generator + * model found in the resource. + * + * @param resource a {@link Resource} + */ + def void prepare(Collection<String> pathes) { for (path : pathes) { logger.logInfo("clearing "+path) var f = new File(path) diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java index 491758234..91807967a 100644 --- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java +++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java @@ -14,6 +14,7 @@ import com.google.common.base.Objects; import com.google.inject.Inject; import com.google.inject.Singleton; import java.io.File; +import java.util.Collection; import java.util.HashSet; import java.util.Set; import org.eclipse.emf.common.util.EList; @@ -44,15 +45,7 @@ public class PrepareFileSystem { @Inject private ILogger logger; - /** - * Recursively erase all folders receiving generated code - * an to place a readme file into those folders. - * The folders are determined from the used models of every generator - * model found in the resource. - * - * @param resource a {@link Resource} - */ - public void prepare(final Resource resource) { + public void prepareCodeTargetPaths(final Resource resource) { HashSet<String> _hashSet = new HashSet<String>(); Set<String> pathes = _hashSet; EList<EObject> _contents = resource.getContents(); @@ -78,6 +71,47 @@ public class PrepareFileSystem { } } } + this.prepare(pathes); + } + + public void prepareDocTargetPaths(final Resource resource) { + HashSet<String> _hashSet = new HashSet<String>(); + Set<String> pathes = _hashSet; + EList<EObject> _contents = resource.getContents(); + for (final EObject e : _contents) { + if ((e instanceof Root)) { + EList<RoomModel> _usedRoomModels = ((Root) e).getUsedRoomModels(); + for (final RoomModel mdl : _usedRoomModels) { + { + final String tgtpath = this._roomExtensions.getDocGenerationTargetPath(mdl); + boolean _and = false; + boolean _notEquals = (!Objects.equal(tgtpath, null)); + if (!_notEquals) { + _and = false; + } else { + boolean _isEmpty = tgtpath.isEmpty(); + boolean _not = (!_isEmpty); + _and = (_notEquals && _not); + } + if (_and) { + pathes.add(tgtpath); + } + } + } + } + } + this.prepare(pathes); + } + + /** + * Recursively erase all folders receiving generated code + * and place a readme file in those folders. + * The folders are determined from the used models of every generator + * model found in the resource. + * + * @param resource a {@link Resource} + */ + public void prepare(final Collection<String> pathes) { for (final String path : pathes) { { String _plus = ("clearing " + path); |