[Yanel-dev] Building/Compiling resources more efficiently
Michael Wechner
michael.wechner at wyona.com
Wed Jan 7 23:38:51 CET 2009
simon litwan schrieb:
> 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?
yes, because ant.home might change and then one would have to change the
"../../" etc.
Cheers
Michi
>
> 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
>
> _______________________________________________
> 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