Build IDE plugins more easily

104 views
Skip to first unread message

Tako Schotanus

unread,
Sep 15, 2015, 12:14:47 PM9/15/15
to ceylon-dev
Hiya people,

today I added a new build file to `ceylon-dist` to help build the IDE plugins and their dependencies.
It consists of a file called `ide-build.xml` and implements basically the same commands as the normal distribution build file, eg:

   "setup" - Clones all necessary IDE projects
   "setup-admins" - The same but for contributors (yes, that's us)

   "status" - Shows the "gist status" output for all IDE projects
   "update" - Runs a "git pull --rebase" on all IDE projects

   "eclipse" -  Should build the Eclipse plugin
   "intellij" - Should build the IntelliJ plugin

   "clean" - Does a clean of the build environment
   "clean-projects" - Runs "clean" in all the IDE projects

To run these tasks you can either type:

   ant -f ide-build.xml task_name

Or you can use the (slightly longer named) tasks in the main build file:

   "setup-ide"
   "setup-admins-ide"

   "status-ide"
   "update-ide"

   "eclipse"
   "intellij"

   "clean-ide"
   "clean-projects-ide"

And simply type:

   ant task_name

Hope you enjoy getting back a little time each day ;)

-Tako

Gavin King

unread,
Sep 15, 2015, 1:15:23 PM9/15/15
to ceylo...@googlegroups.com
Excellent, thanks!

--
You received this message because you are subscribed to the Google Groups "ceylon-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-dev.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceylon-dev/CAOJRyvoASrMk2Ydc7mp8-n39PeG0arExbKCMg-OcRBnLvOwHkw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.



--

Tako Schotanus

unread,
Sep 15, 2015, 2:20:50 PM9/15/15
to ceylon-dev
Thanks, but I forgot to add an important bit:

- For now you still have to build the plugins themselves by hand (eg. by typing "mvn clean install -DskipTests")

The Eclipse plugin will be easy I guess, I just need to figure out how to call "mvn" from "ant"
But the IntelliJ build just isn't ready yet (although Bastien is working on that right now)



-Tako

Tako Schotanus

unread,
Sep 18, 2015, 11:05:30 AM9/18/15
to ceylon-dev
The build file in the distrubution is now extended for the SDK too:

   "setup-sdk"
   "setup-admins-sdk"

   "status-sdk"
   "update-sdk"

   "sdk" - same as "ant publish ide-quick" in the SDK

   "clean-sdk"

There are some others too:

   "status-all" - "status" for dist, SDK and IDE
   "update-all" - "update" for dist, SDK and IDE
   "clean-all" - "clean" for dist, SDK and IDE

   "dist" - same as "publish ide-quick"

So you can now type

   ant update-all
   ant clean-all dist sdk eclipse

To update all the code, clean it all, build the distribution and the SDK and finally the Eclipse plugin...

.... well almost, you still have to type "mvn clean install -DskipTests" yourself unfortuantely.




-Tako

Tako Schotanus

unread,
Sep 18, 2015, 11:55:08 AM9/18/15
to ceylon-dev

On Fri, Sep 18, 2015 at 5:05 PM, Tako Schotanus <ta...@codejive.org> wrote:
.... well almost, you still have to type "mvn clean install -DskipTests" yourself unfortuantely.

And this now works too, thanks to David! Thanks David :)

-Tako

David Festal

unread,
Sep 18, 2015, 11:57:44 AM9/18/15
to ceylo...@googlegroups.com
You're welcome :-), and thank YOU for all this massive simplification of
the IDE builds !
> --


Stephane Gallès

unread,
Sep 18, 2015, 11:59:32 PM9/18/15
to ceylon-dev
Yes, thank you, that's very handy.

BTW on JDK 7 I get a 'PermGen space' error if I don't modify my JAVA_TOOL_OPTIONS to increase the default PermGenSpace.
The full stack of the build error is here : https://gist.github.com/sgalles/5205b603c60c4b28c205


Tako Schotanus

unread,
Sep 19, 2015, 4:31:51 AM9/19/15
to ceylon-dev
Yeah, although I haven't had that error yet the OOM KIller in the Linux kernel has been killing Eclipse and Chrome several times now, so it's probably best to either change your JAVA_TOOL_OPTIONS or split things up a bit (personally I still tend to build the dist first, then the sdk and finally the plugin, the advantage being that now I can do it all from the same terminal and folder)


-Tako

--
You received this message because you are subscribed to the Google Groups "ceylon-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-dev.

Jean-Pierre Ragey

unread,
Sep 19, 2015, 7:47:57 AM9/19/15
to ceylon-dev, ta...@codejive.org
Very cool, indeed!
I just noticed no doc was generated for SDK and ceylon-spec - you have to run "ant doc" in their respective directories.
What about a "doc" target in ceylon-dist ?

Gavin King

unread,
Sep 19, 2015, 8:45:32 AM9/19/15
to ceylo...@googlegroups.com, Tako Schotanus
Yeah, this is really *much* better now. It's already saving me time.

--
You received this message because you are subscribed to the Google Groups "ceylon-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at http://groups.google.com/group/ceylon-dev.

For more options, visit https://groups.google.com/d/optout.

Luke deGruchy

unread,
Sep 19, 2015, 4:54:49 PM9/19/15
to ceylon-dev, ta...@codejive.org
This is what I now have for my clean slate script:

-----
rm -rf ceylon*
git clone https://github.com/ceylon/ceylon-dist
git clone https://github.com/ceylon/ceylon-sdk
git clone https://github.com/ceylon/ceylon.formatter
git clone https://github.com/ceylon/ceylon-ide-common
git clone https://github.com/ceylon/ceylon.tool.converter.java2ceylon
git clone https://github.com/ceylon/ceylon-ide-eclipse
git clone https://github.com/ceylon/ceylon-ide-intellij
cd ceylon-dist
ant setup
ant dist sdk eclipse
cd ../ceylon-ide-eclipse
mvn clean install -DskipTests
-----

And for my update script:

------
cd ceylon-dist

ant update-all
ant clean-all dist sdk eclipse
cd ../ceylon-ide-eclipse
mvn clean install -DskipTests
------

Both work with no errors, and I'm guessing this is the bare minimum I need to setup ceylon-ide-eclipse for the first time and then update it, respectively.

Gavin King

unread,
Sep 19, 2015, 5:07:10 PM9/19/15
to ceylo...@googlegroups.com, Tako Schotanus
Y'know, we could add an ant target that does all that cloning.


For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages