Hi,
Some replies inline.
Hi Marc-André “Failed to execute goal org.eclipse.tycho:tycho-packaging-plugin:1.4.0:build-qualifier (default-build-qualifier) on project org.eclipse.cdt.core.native: Working tree is dirty. git status core/org.eclipse.cdt.core.native: Changes not staged for commit: modified: core/org.eclipse.cdt.core.native/plugin.properties You are trying to use tycho-buildtimestamp-jgit on a directory that has uncommitted changes (see details above). Either commit all changes/add files to .gitignore, or enable fallback to default timestamp provider by configuring jgit.dirtyWorkingTree=warning for tycho-packaging-plugin” Although I did not touch the folder.
You can try doing a 'git reset —hard' to make sure nothing is modified. Otherwise, I often build with this command:
mvn clean install -Dmaven.test.skip=true -Djgit.dirtyWorkingTree-cdtDefault=ignore
It skips the tests and the dirty working tree check. The built jars will be in org.eclipse.cdt/releng/org.eclipse.cdt.repo/target/repository/plugins
Is there anyway I can get a complete CDT jar file Eclipse?
I don’t think there is such a single jar. Like Eclipse, CDT is made of several modules. The one you likely need from CDT is org.eclipse.cdt.core_$version$.jar. Then you’ll need all its dependencies, like org.eclipse.core.resources.jar, etc. If your UML tool is an Eclipse plugin, then you can add org.eclipse.cdt.core as a dependency and it will resolve the other dependencies. Otherwise, you'd have to put all the jars dependencies on the classpath manually…quite a daunting task.
Following your kind suggestion, if I want to create my first ASTNode of main(), How to achieve the effect of “new IASTFunctionDefinition()”. ? It seem new Function is not the way because IFunction is not IASTNode. ITranslationUnit tu = (ITranslationUnit) CDTUITools.getEditorInputCElement(editor.getEditorInput()); ITranslationUnit tu = (ITranslationUnit) CDTUITools.getEditorInputCElement(editor.getEditorInput()); - ITranslationUnit tu = (ITranslationUnit) CDTUITools.getEditorInputCElement(editor.getEditorInput());
- ITranslationUnit tu= (ITranslationUnit) CoreModel.getDefault().create(file);
I don’t have (need) UI Editor, and assume I just start my UML tool, so neither a src file; so how to create a tu? BTW how many different ways to create tu?
Probably one of these is your best bet:
CoreModel.getDefault().createTranslationUnitFrom(ICProject cproject, IPath path) CoreModel.getDefault().createTranslationUnitFrom(ICProject cproject, URI locationURI)
But as you see, this needs a ICproject. Is your UML tool running as a plugin part of Eclipse or not? If not, it will be quite a bit more difficult as you have to load everything necessary to create a workspace and projects outside the Eclipse runtime. I assume it’s possible with a lot of fiddling of many jars and startup boiler plate code but I don’t know for sure and it might be very difficult without good knowledge of how Eclipse works. So I hope your UML tool is running within Eclipse otherwise you might hit a dead end unless you are *very* motivated.
It might be simpler to look into template engines such as Freemarker which might be enough for your needs and way less setup and need of Eclipse knowledge.
Marc-André
Thanks. Sent from Mail for Windows 10
Hi Ming,
I found this presentation about CDT refactoring, there are a few slides about creating AST nodes (node factory), ASTRewrite and generating changes that might useful to you: https://wiki.eclipse.org/images/b/be/PTPUserDev2012_Ruegg_Refactoring.pdf
About how to use this within your tool, it will depend a lot on how close your tool is to being an Eclipse plugin running in a workspace with a C/C++ project. If some of those conditions are not met, you will have a few more hurdles, like having to add all cdt.core dependencies on the classpath, figuring out if you can do AST writing on an external file (non-workspace), etc.
Either way, it sounds like an interesting project and something that you could write about in a blog or developer FAQ if you do manage to get it working.
Regards, Marc-André
Hi The team, I want to develop C++ source code generator according to user’s diagram something like UML tool but very limited just for my needs. So my questions are: - Can I call CDT lib’s API to generate C++ class/functions?
- What’s the ABC steps so I can follow them to merge the lib into my tool to see some very basic features?
Ming Cheng. Warm Regards Sent from Mail for Windows 10 _______________________________________________cdt-dev mailing listcdt-dev@xxxxxxxxxxxTo change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/cdt-dev
_______________________________________________cdt-dev mailing listcdt-dev@xxxxxxxxxxxTo change your delivery options, retrieve your password, or unsubscribe from this list, visithttps://www.eclipse.org/mailman/listinfo/cdt-dev
|