On Thu, 07 Apr 2005 20:04:02 +0200, John Franey <[EMAIL PROTECTED]> wrote:

Max, and all,

You are the man! ,)

If you can bring me automated build of this stuff i'll be singing and praising ,)

I've been so annoyed with eclipse PDE's tedious build system and I have simply
not have found enough solid information and time to do an automated build
(and since I can just click "Export feature" today I haven't had enough motivation
for doing it)


Your build structure looks a-ok, having build.xml (autogenerated) and hibernate-build.xml
sounds good to me.


If you have something already then please provide it as a patch into the jira and i'll try it out.

Your future plans looks great and it will a very welcome contribution.

I don't know if you have noticed that i have recently added org.hibernate.eclipse.feature and
org.hibernate.eclipse.updatesite to cvs - two things that also would be great to automatically
build (I even thing the .feature is actually what is meant to be called head-less)


Again - I will really appreciate this stuff, any improvements on auto-building the plugins
will be blis!


/max


I don't know what is in place or planned for automating plugin builds. I searched this mailing list archive and found discussions in Jan 2005, and Dec 2004 regarding builds of plugins and source directory structure, but neither of these addressed an automated mechanism. This email is a contribution. I hope its helpful at this stage. Attached is a prototype build file to show a possibility and I can continue if it fits into your plans.


Here are goals of the hibernate plugin build script:
- builds all plugins from one command: ant -f plugin-build.xml <target>


    - deposits zipped binary and source of plugins into a drop directory.

    - supports build directly after 'cvs checkout' of the plugins, but
after other libs in Ext are built.

    - simplify directions on the plugin contribution howto by providing
additional build targets (to be identified).
   - will copy resources into a plugin before building (leverages
org.hibernate.eclipse/hibernate-build.xml update target.)
   - synchronize with the plugin build environment used by developer in
PDE session.   In other words, if a new library is added into the
plugin's build path by a plugin developer using the eclipse PDE, the new
dependency should be picked up without further manual intervenetion
(like adding a jar file to an ant property).



According to  Clayberg and Rubel (in "Eclipse: Building Commercial
Quality Plug-ins", Addison-Wesley), there are two cool mechanisms in
eclipse that helps: 1) the PDE can generate a build.xml, and 2) the
generated build.xml can be run 'headless' (without the user interface).

Here is proposed files and structure:

HibernateExt
  plugin-build.xml
  org.hibernate.eclipse.*  (for each plugin)
      build.xml (eclipse generated file)
      hibernate-build.xml (provided by plugin developer)


Attached is a the initial prototype of plugin-build.xml. There is more to do; this is a proof-of-concept demo. It can build org.hibernate.eclipse zip files if org.hibernate.eclipse/build.xml was generated by developer in eclipse PDE, and if you have 3.1M6 installed (Headless build in 3.1M5a didn't work). Modify the eclipse.home and workspace properties in plugin-build.xml. Run in HibernateExt as: ant -f plugin-build.xml zip.plugin

By convention, each plugin's hibernate-build.xml would have well-known
public targets for the plugin-build.xml to run: 'pre-build', and others
as needed.  In org.hibernate.eclipse/hibernate-build.xml, the target
pre-build would antcall 'update'.   A set of properties would be made
available to hibernate-build.xml (to be defined).

To generate a build.xml by hand: in eclipse, right click on the
plugin.xml in the plugin's project and select PDE Tools > Create Ant
Build File.   I expect there is a way to generate this file headless,
and I will look for it.  If so, then generating the build.xml file per
plugin would be part of the automatic build, and PDE developer wouldn't
have to remember to generate it manually, and it wouldn't be in cvs.

I'm on the lookout for examples.  I looked into the PDE plugin source
code, but not enough to assure myself it can be reused; I spent only
enough time to realize that I need to spend much more time on it :-).
If anyone can assure me that this or some other plugin build scripts can
be reused here, I'll pursue it.

Comments?

John







-- -- Max Rydahl Andersen callto://max.rydahl.andersen

Hibernate
[EMAIL PROTECTED]
http://hibernate.org

JBoss Inc
[EMAIL PROTECTED]
http://jboss.com


------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ hibernate-devel mailing list hibernate-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to