> Cool,
>
> I'm the original developer of this plugin. It's just a simple version of
> jbuilder project generation.
>
> If you want to complete/correct this plugin, I appreciate it.
> If you send a patch, I'll apply it.

Thanks. Do you have any comments on the strategy I proposed for creating and
"installing" library files? My thinking was to keep things simple and
generated JBuilder project and library files would be strictly local to an
individual's workstation. I do not see much point in trying to make them
deployable artifacts. With the workstation-specific path issues involved, I
am not sure that this is even possible or desirable.

> P.S.:.jbuilder* directory isn't necessary in ${user.home}, I propose you
> put this value in a plugin property.

Thanks for the tip. We have a variety of JBuilder versions scattered around
our team and I tried to make a best guess algorithm for locating the user's
default Project file. In fact as we use the plugin more, we may decide that
some of the properties I currently take from the default project should
instead be specified as Maven properties. Some are truly user preference
defaults, but others should be standardized for a particular project.

--------------------------------------
David Zeleznik
ILOG - Changing the rules of business
mailto:[EMAIL PROTECTED]
http://www.ilog.com
--------------------------------------

> -----Message d'origine-----
> De: "David Zeleznik" <[EMAIL PROTECTED]>
> A: "Turbine Maven Users List" <[EMAIL PROTECTED]>
> Date: 26/03/03
> Objet: JBuilder Plugin
>
> Hi,
>
> We are a heavy user of both JBuilder and IDEA and have found that the
> current JBuilder plugin is much less functional than the IDEA plugin for
> generating project files. I have started working on improving the
> jbuilder:generate-project goal, but would like to know if anyone else is
> working in this area. I will be happy to send my changes to the list if
> anyone is interested. I just do not want to conflict if there is active
> development on this plugin.
>
> As to the jbuilder:generate-library goal, this one seems completely
> broken
> and actually generates circular references. I am not sure what the
> original
> developer had in mind. My idea is to generate library files directly
> into
> the user's jbuilder home directory where they can then be referenced by
> the
> generated JBuilder projects and other libraries. If a person does
> generate-project and some of the projects dependencies do not have
> library
> files created yet, a default library definition will be created that
> simply
> references the jar in the local repo. The user can then override this
> default library definition by going to the dependency project and doing
> generate-library. This will generate a library definition that includes
> the
> source code. I am also planning to generate versioned library
> definitions,
> rather than just using the artifactId like the current plugin does.
>
> I have attached my first rough draft of my generate-project
> improvements.
> Note, that handling of the project dependencies and libraries is not
> implemented yet. It is next on my todo list.
>
>   <goal
>     name="jbuilder:generate-project"
>     description="Generate JBuilder [id_project].jpx file">
>
>     <!-- This forces the javadoc plugin to load and read its properties
> -->
>     <attainGoal name="maven-javadoc-plugin:register" />
>
>     <echo>Creating ${basedir}/${pom.artifactId}.jpx ...</echo>
>
>     <!-- Initialize default values for project properties. If we find a
> default
>          JBuilder project, then its values will override some of these.
> -->
>     <j:set var="authorLabel"      value="@author" />
>     <j:set var="backupPath"       value="bak" />
>     <j:set var="beansInstantiate" value="false" />
>     <j:set var="company"          value="${pom.organization.name}" />
>     <j:set var="companyLabel"     value="Company: " />
>     <j:set var="copyrightLabel"   value="Copyright: " />
>     <j:set var="descriptionLabel" value="Description: " />
>     <j:set var="docPath"
> value="${pom.getPluginContext('maven-javadoc-plugin').getVariable('maven
> .jav
> adoc.destdir')}" />
>     <j:set var="includeTestPath"  value="1" />
>     <j:set var="jdk"              value="java ${java.vm.version}" />
>     <j:set var="titleLabel"       value="Title: " />
>     <j:set var="versionLabel"     value="@version" />
>     <j:set var="workingDir"       value="." />
>
>     <!-- Format the year. -->
>     <tstamp>
>        <format property="currentYear" pattern="yyyy" />
>     </tstamp>
>     <tstamp>
>       <j:choose>
>         <j:when test="${pom.inceptionYear.equals(currentYear)}">
>           <format property="year" pattern="yyyy"/>
>         </j:when>
>         <j:otherwise>
>           <format property="year" pattern="${pom.inceptionYear}-yyyy"/>
>         </j:otherwise>
>       </j:choose>
>     </tstamp>
>
>     <!-- Find and read the JBuilder default project properties. -->
>     <j:set var="jbuilderDirs"
> value=".jbuilder8,.jbuilder7,.jbuilder6,.jbuilder5,.jbuilder4,.jbuilder"
> />
>     <u:tokenize var="jbuilderDirList"
> delim=",">${jbuilderDirs}</u:tokenize>
>     <j:forEach var="dir" items="${jbuilderDirList}">
>       <j:set var="jbUserHome" value="${user.home}/${dir}" />
>       <j:set var="defaultProject" value="${jbUserHome}/Default.jpr" />
>       <u:available file="${defaultProject}">
>         <j:set var="jbDefaultProject" value="${defaultProject}" />
>         <j:break/>
>       </u:available>
>     </j:forEach>
>     <j:if test="${jbDefaultProject == null}" >
>
> <echo>+-----------------------------------------------------------------
> -</e
> cho>
>       <echo>| WARNING!</echo>
>       <echo>|</echo>
>       <echo>| A JBuilder installation could not be found. The project
> files</echo>
>       <echo>| being created will contain default values.</echo>
>
> <echo>+-----------------------------------------------------------------
> -</e
> cho>
>     </j:if>
>     <j:if test="${jbDefaultProject != null}" >
>       <echo>Reading default project ${jbDefaultProject}</echo>
>       <u:properties file="${jbDefaultProject}" var="defaultProps" />
>       <j:set var="authorLabel"
> value="${defaultProps.getProperty('sys[0].AuthorLabel')}" />
>       <j:set var="backupPath"
> value="${defaultProps.getProperty('sys[0].BackupPath')}" />
>       <j:set var="backupPath"
> value="${backupPath.replaceAll('%%\|',
> ':')}" />
>       <j:set var="beansInstantiate"
> value="${defaultProps.getProperty('sys[0].BeansInstantiate')}" />
>       <j:set var="companyLabel"
> value="${defaultProps.getProperty('sys[0].CompanyLabel')}" />
>       <j:set var="copyrightLabel"
> value="${defaultProps.getProperty('sys[0].CopyrightLabel')}" />
>       <j:set var="descriptionLabel"
> value="${defaultProps.getProperty('sys[0].DescriptionLabel')}" />
>       <j:set var="titleLabel"
> value="${defaultProps.getProperty('sys[0].TitleLabel')}" />
>       <j:set var="versionLabel"
> value="${defaultProps.getProperty('sys[0].VersionLabel')}" />
>       <available property="jdkDefPresent"
> file="${jbUserHome}/${jdk}.library" />
>       <j:if test="$">
>
> <echo>+-----------------------------------------------------------------
> -</e
> cho>
>         <echo>| WARNING!</echo>
>         <echo>|</echo>
>         <echo>| This project is being configured to use ${jdk}.
> This</echo>
>         <echo>| JDK has not been configured yet in your JBuilder
> installation.</echo>
>         <echo>| Go to Tools|Configure JDKs.</echo>
>
> <echo>+-----------------------------------------------------------------
> -</e
> cho>
>       </j:if>
>     </j:if>
>
>     <!-- Format the copyright notice. -->
>     <j:set var="copyright" value="Copyright (c) ${year} ${company} - All
> Rights Reserved." />
>
>    <j:file name="${basedir}/${pom.artifactId}.jpx" prettyPrint="true"
> xmlns="dummy">
>      <project>
>        <x:comment>JBuilder XML Project</x:comment>
>         <property category="sys" name="Author"
> value="${maven.username}" />
>        <property category="sys" name="AuthorLabel"
> value="${authorLabel}" />
>         <property category="sys" name="BackupPath"
> value="${backupPath}" />
>         <property category="sys" name="BeansInstantiate"
> value="${beansInstantiate}" />
>         <property category="sys" name="Company"
> value="${company}"
> />
>        <property category="sys" name="CompanyLabel"
> value="${companyLabel}" />
>         <property category="sys" name="Copyright"
> value="${copyright}" />
>         <property category="sys" name="CopyrightLabel"
> value="${copyrightLabel}" />
>         <property category="sys" name="DefaultPath"
> value="${pom.build.sourceDirectory}" />
>         <property category="sys" name="Description"
> value="${pom.shortDescription}" />
>         <property category="sys" name="DescriptionLabel"
> value="${descriptionLabel}" />
>         <property category="sys" name="DocPath"
> value="${docPath}"
> />
>         <property category="sys" name="IncludeTestPath"
> value="${includeTestPath}" />
>         <property category="sys" name="JDK"              value="${jdk}"
> />
>         <property category="sys" name="Libraries"
> value="${libraries}" />
>         <property category="sys" name="OutPath"
> value="${maven.build.dest}" />
>        <property category="sys" name="SourcePath"
> value="${pom.build.sourceDirectory};${pom.build.unitTestSourceDirectory}
> " />
>        <property category="sys" name="TestPath"
> value="${pom.build.unitTestSourceDirectory}" />
>         <property category="sys" name="Title"
> value="${pom.name}"
> />
>         <property category="sys" name="TitleLabel"
> value="${titleLabel}" />
>        <property category="sys" name="Version"
> value="${pom.currentVersion}" />
>        <property category="sys" name="VersionLabel"
> value="${versionLabel}" />
>        <property category="sys" name="WorkingDirectory"
> value="${workingDir}" />
>      </project>
>    </j:file>
>   </goal>
>
> I would be interested in any feedback from others using both Maven and
> JBuilder on the same projects.
>
> --------------------------------------
> David Zeleznik
> ILOG - Changing the rules of business
> mailto:[EMAIL PROTECTED]
> http://www.ilog.com
> --------------------------------------
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
> _____________________________________________________________________
> GRAND JEU SMS : Pour gagner un NOKIA 7650, envoyez le mot IF au 61321
> (prix d'un SMS + 0.35 euro). Un SMS vous dira si vous avez gagn�.
> R�glement : http://www.ifrance.com/_reloc/sign.sms
>
> _____________________________________________________________________
> GRAND JEU SMS : Pour gagner un NOKIA 7650, envoyez le mot IF au 61321
> (prix d'un SMS + 0.35 euro). Un SMS vous dira si vous avez gagn�.
> R�glement : http://www.ifrance.com/_reloc/sign.sms
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to