[Yanel-dev] Building/Compiling resources more efficiently

simon litwan simon.litwan at wyona.com
Wed Jan 7 22:51:19 CET 2009


Michael Wechner schrieb:
> Michael Wechner schrieb:
>> Alec Bickerton schrieb:
>>> Michael Wechner wrote:
>>>  
>>>> Hi
>>>>
>>>> Just as a reminder, but also for discussion:
>>>>
>>>> One can build/compile a resource without having to trigger to whole
>>>> build process by using the -f option, for example
>>>>
>>>> ./build.sh -f
>>>> /home/michi/src/wyona/SOME_CUSTOM_PROJECT/res-types/shared/build.xml
>>>>
>>>> whereas one needs to configure the yanel.source.version within
>>>>
>>>> res-types/shared/src/build/dependencies.xml
>>>>
>>>> by setting for example
>>>>
>>>> <target name="dependencies" description="Dependencies">
>>>>    <property name="yanel.source.version" value="1.0-dev-rREVISION"/>
>>>>
>>>> this makes developing Java classes much faster.
>>>>
>>>> The problem is a bit that one needs to set this property 
>>>> explicitely and
>>>> shouldn't leave it there, because in case Yanel source should
>>>> change this version number, then old libs will be used or one will
>>>> receive a compile error.
>>>>
>>>> In order to solve this I thought about introducing an environment
>>>> variable, for example
>>>>
>>>> export YANEL_SOURCE_HOME=/home/michi/src/wyona/public/yanel/trunk
>>>>
>>>> which would allow the build process to check what Yanel source 
>>>> version is.
>>>>
>>>> WDYT?
>>>>     
>>>
>>> Interesting.
>>>
>>> How about having a build.xml in the realms root directory that simply
>>> creates a jar against the libs in a Barebones Yanel. then copies this
>>> .jar to the WEB-INF/lib of Yanel.
>>>   
>>
>> this is what some realms already have, for example the "Yanel 
>> website" realm
>>
>> YANEL_HOME/src/realms/yanel-website/build.xml
>>
>> but again the problem is how does this build file know where 
>> YANEL_HOME is  in order to access its properties etc.
>>
>> I will create a small prototype within a custom realm/resource and 
>> test how well this YANEL_HOME env var method works
>> and report my findings.
>
> ok, seems to work fine. I had to add the following lines:
>
> <project name="yanel-resource" default="compile">
>
>  <property environment="env"/>
>  <echo message="YANEL_HOME is set to = ${env.YANEL_HOME}"/>
>
>  <property file="${env.YANEL_HOME}/src/build/local.build.properties"/>
>  <property file="${env.YANEL_HOME}/src/build/build.properties"/>
>
> for making it compile using YANEL_HOME and also a target
>
>  <target name="deploy-lib" depends="compile">
>    <property name="build.dir" value="${env.YANEL_HOME}/build"/>
>    <copy 
> todir="${build.dir}/webapps/${servlet.context.prefix}/WEB-INF/lib">
>      <fileset dir="build/lib"/>
>    </copy>
>    <copy 
> todir="${tomcat1.home.dir}/webapps/${servlet.context.prefix}/WEB-INF/lib"> 
>
> <!--
>    <copy 
> todir="${env.YANEL_HOME}/local/apache-tomcat-${tomcat.version}/webapps/${servlet.context.prefix}/WEB-INF/lib"> 
>
> -->
>      <fileset dir="build/lib"/>
>    </copy>
>  </target>
>
> for allowing to deploy easily only a specific resource lib
>
> By adding these few lines one can develop much faster.
speaks anything against using the built-in property ant.home/../../ 
(which should point to the yanel-source where you building) instead of 
having to configure it?

simon
>
> Cheers
>
> Michael
>>
>> Cheers
>>
>> Michael
>>> Say realm-[realm-name]-lib.jar for example
>>>
>>> That would be a step towards easily loadable realms and would speed up
>>> development. I personally haven't worked on any Yanel classes as yet,
>>> I'm still getting familiar with it.
>>>
>>> Of course when the .jar changes you need to restart Tomcat. Unless we
>>> write a classloader, I don't see any way around that.
>>> _______________________________________________
>>> Yanel-development mailing list
>>> Yanel-development at wyona.com
>>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>>>   
>>
>> _______________________________________________
>> Yanel-development mailing list
>> Yanel-development at wyona.com
>> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development
>
> _______________________________________________
> Yanel-development mailing list
> Yanel-development at wyona.com
> http://lists.wyona.org/cgi-bin/mailman/listinfo/yanel-development



More information about the Yanel-development mailing list