Issue #2756 reworked collaboration dataserver build
replaced install ant script with build script that also deploys new build uses feature explorer, but handles its own compile stage updated deployment and start script to match new build added logging level control argument Former-commit-id: 8e1da85b9d3da580c8d5b53783e2b17c6ee8d00e
This commit is contained in:
parent
08ee82c39a
commit
fac33a8915
7 changed files with 226 additions and 116 deletions
|
@ -74,4 +74,42 @@
|
|||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.status"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.slf4j"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="ch.qos.logback"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.commons.lang"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.commons.beanutils"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.commons.io"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
</feature>
|
||||
|
|
|
@ -10,4 +10,6 @@ Require-Bundle: org.eclipse.jetty,
|
|||
com.raytheon.uf.common.http,
|
||||
com.raytheon.uf.common.xmpp,
|
||||
org.apache.http,
|
||||
org.apache.commons.collections
|
||||
org.apache.commons.collections,
|
||||
org.slf4j,
|
||||
ch.qos.logback
|
||||
|
|
168
javaUtilities/collaboration.dataserver/build.xml
Normal file
168
javaUtilities/collaboration.dataserver/build.xml
Normal file
|
@ -0,0 +1,168 @@
|
|||
<project default="deploy" basedir=".">
|
||||
|
||||
<property name="workspace" value="${basedir}/../.." />
|
||||
<property name="esb.build.directory" value="${workspace}/edexOsgi/build.edex" />
|
||||
<property name="feature.file" value="${basedir}.feature/feature.xml"/>
|
||||
<property name="dataserver.root.directory" value="/awips2/collab-dataserver" />
|
||||
<property name="includegen.filter" value="raytheon|collaboration.dataserver" />
|
||||
<property name="basedirectories" value="${workspace}/edexOsgi;${workspace}/javaUtilities;${workspace}/cots" />
|
||||
|
||||
<property name="tmp.dir" value="${basedir}/tmp" />
|
||||
<property name="includes.directory" value="${tmp.dir}/includes" />
|
||||
<property name="tmp.src.dir" value="${tmp.dir}/src" />
|
||||
<property name="tmp.bin.dir" value="${tmp.dir}/bin" />
|
||||
<property name="tmp.lib.dir" value="${tmp.dir}/lib" />
|
||||
|
||||
<!-- public static final -->
|
||||
<path id="ant.classpath">
|
||||
<fileset dir="${esb.build.directory}/lib/ant">
|
||||
<include name="*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<target name="clean" >
|
||||
<!-- cleanup the temporary directories -->
|
||||
<if>
|
||||
<available file="${basedir}/tmp" type="dir" />
|
||||
<then>
|
||||
<delete includeemptydirs="true">
|
||||
<fileset dir="${basedir}"
|
||||
includes="tmp/**" />
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<target name="clean-dest">
|
||||
<!-- clean up the runtime directories -->
|
||||
<if>
|
||||
<available file="${dataserver.root.directory}/lib" />
|
||||
<then>
|
||||
<delete verbose="true" includeemptydirs="true">
|
||||
<fileset dir="${dataserver.root.directory}/lib"
|
||||
includes="*/**"/>
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
</target>
|
||||
|
||||
<target name="deploy" depends="clean-dest,build" >
|
||||
<mkdir dir="${dataserver.root.directory}/lib/uframe"/>
|
||||
<!-- jar up dataserver -->
|
||||
<jar destfile="${dataserver.root.directory}/lib/uframe/collaboration.dataserver.jar" basedir="${tmp.bin.dir}"/>
|
||||
<!-- deploy foss -->
|
||||
<copy todir="${dataserver.root.directory}/lib/foss" overwrite="true" verbose="true">
|
||||
<fileset dir="${tmp.lib.dir}" includes="*.jar"/>
|
||||
</copy>
|
||||
<!-- deploy scripts and config -->
|
||||
<copy todir="${dataserver.root.directory}/config" overwrite="false" verbose="true">
|
||||
<fileset dir="${basedir}/config" />
|
||||
</copy>
|
||||
<copy todir="${dataserver.root.directory}/bin" overwrite="true" verbose="true">
|
||||
<fileset dir="${basedir}/scriptBin" />
|
||||
</copy>
|
||||
<chmod dir="${dataserver.root.directory}/bin" perm="ug+rx" includes="**/*.sh"/>
|
||||
<!-- clean up -->
|
||||
<antcall target="clean"/>
|
||||
</target>
|
||||
|
||||
<target name="build" >
|
||||
<sequential>
|
||||
<!-- prepare to run includegen -->
|
||||
<if>
|
||||
<available file="${includes.directory}" type="dir" />
|
||||
<then>
|
||||
<delete verbose="true" includeemptydirs="true">
|
||||
<fileset dir="${includes.directory}"
|
||||
includes="*/**" />
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
<mkdir dir="${includes.directory}" />
|
||||
|
||||
<!-- run includegen -->
|
||||
<echo message="Generating deployment list for feature: ${feature}" />
|
||||
|
||||
<includegen providerfilter="${includegen.filter}"
|
||||
basedirectories="${basedirectories}"
|
||||
featurefile="${feature.file}"
|
||||
cotsout="${includes.directory}/cots.includes"
|
||||
plugsout="${includes.directory}/plugins.includes"
|
||||
coreout="${includes.directory}/core.includes" />
|
||||
|
||||
<!-- copy foss jars to tmp lib folder -->
|
||||
<copyToBuild includes.file="${includes.directory}/cots.includes"
|
||||
source.base="${workspace}/cots"
|
||||
source.suffix=""
|
||||
includes.pattern="*.jar"
|
||||
target.dir="${tmp.lib.dir}" />
|
||||
|
||||
<!-- copy all uframe source to tmp src folder -->
|
||||
<copyToBuild includes.file="${includes.directory}/core.includes"
|
||||
source.base="${workspace}/edexOsgi"
|
||||
source.suffix="src"
|
||||
includes.pattern="**/*.java"
|
||||
target.dir="${tmp.src.dir}" />
|
||||
|
||||
<copyToBuild includes.file="${includes.directory}/plugins.includes"
|
||||
source.base="${workspace}/edexOsgi"
|
||||
source.suffix="src"
|
||||
includes.pattern="**/*.java"
|
||||
target.dir="${tmp.src.dir}" />
|
||||
|
||||
<copy todir="${tmp.src.dir}" overwrite="true" verbose="true">
|
||||
<fileset dir="src" includes="**/*.java" />
|
||||
</copy>
|
||||
|
||||
<!-- compile all uframe source at once -->
|
||||
<path id="foss.path">
|
||||
<fileset dir="${tmp.lib.dir}">
|
||||
<include name="*.jar"/>
|
||||
</fileset>
|
||||
</path>
|
||||
<mkdir dir="${tmp.bin.dir}" />
|
||||
<javac destdir="${tmp.bin.dir}">
|
||||
<src path="${tmp.src.dir}"/>
|
||||
<classpath refid="foss.path"/>
|
||||
</javac>
|
||||
</sequential>
|
||||
</target>
|
||||
|
||||
<!-- iterates over includes file and copies files -->
|
||||
<macrodef name="copyToBuild">
|
||||
<attribute name="includes.file"/>
|
||||
<attribute name="source.base" />
|
||||
<attribute name="source.suffix" />
|
||||
<attribute name="includes.pattern" />
|
||||
<attribute name="target.dir"/>
|
||||
|
||||
<sequential>
|
||||
<echo>@{includes.file}</echo>
|
||||
<loadfile property="@{includes.file}.contents"
|
||||
srcfile="@{includes.file}" />
|
||||
<for param="line" list="${@{includes.file}.contents}"
|
||||
delimiter="${line.separator}">
|
||||
<sequential>
|
||||
<if>
|
||||
<available file="@{source.base}/@{line}/@{source.suffix}" type="dir" />
|
||||
<then>
|
||||
<copy todir="@{target.dir}" overwrite="true" verbose="true">
|
||||
<fileset dir="@{source.base}/@{line}/@{source.suffix}" includes="@{includes.pattern}" />
|
||||
</copy>
|
||||
</then>
|
||||
<else>
|
||||
<echo>No files found at @{source.base}/@{line}/@{source.suffix}</echo>
|
||||
</else>
|
||||
</if>
|
||||
</sequential>
|
||||
</for>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!-- static -->
|
||||
<taskdef name="includegen"
|
||||
classname="com.raytheon.uf.anttasks.includesgen.GenerateIncludesFromFeature"
|
||||
classpathref="ant.classpath" />
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"
|
||||
classpath="${esb.build.directory}/lib/ant/ant-contrib-1.0b3.jar" />
|
||||
</project>
|
|
@ -1,99 +0,0 @@
|
|||
<project default="main" basedir=".">
|
||||
|
||||
<property name="workspace" value="${basedir}/../.." />
|
||||
<property name="esb.build.directory" value="${workspace}/edexOsgi/build.edex" />
|
||||
<property name="feature.file" value="${basedir}.feature/feature.xml"/>
|
||||
<property name="dataserver.root.directory" value="/awips2/collab-dataserver" />
|
||||
<property name="includegen.filter" value="raytheon|collaboration.dataserver" />
|
||||
<property name="basedirectories" value="${workspace}/edexOsgi;${workspace}/javaUtilities;${workspace}/cots" />
|
||||
|
||||
|
||||
<!-- import -->
|
||||
<import file="${esb.build.directory}/deploy-common/plugin-methods.xml" />
|
||||
|
||||
<!-- public static final -->
|
||||
<path id="ant.classpath">
|
||||
<fileset dir="${esb.build.directory}/lib/ant">
|
||||
<include name="*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
|
||||
<target name="main" >
|
||||
<sequential>
|
||||
<!-- prepare to run includegen -->
|
||||
<var name="includes.directory" value="${basedir}/tmp/includes" />
|
||||
<if>
|
||||
<available file="${includes.directory}" type="dir" />
|
||||
<then>
|
||||
<delete verbose="true" includeemptydirs="true">
|
||||
<fileset dir="${includes.directory}"
|
||||
includes="*/**" />
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
<mkdir dir="${includes.directory}" />
|
||||
|
||||
<!-- run includegen -->
|
||||
<echo message="Generating deployment list for feature: ${feature}" />
|
||||
|
||||
<includegen providerfilter="${includegen.filter}"
|
||||
basedirectories="${basedirectories}"
|
||||
featurefile="${feature.file}"
|
||||
cotsout="${includes.directory}/cots.includes"
|
||||
plugsout="${includes.directory}/plugins.includes"
|
||||
coreout="${includes.directory}/core.includes" />
|
||||
|
||||
<var name="destination.directory"
|
||||
value="${dataserver.root.directory}/lib/plugins" />
|
||||
<mkdir dir="${destination.directory}" />
|
||||
<processPlugins
|
||||
includes.file="${includes.directory}/plugins.includes"
|
||||
plugin.type="plugins"
|
||||
plugin.directories="${basedirectories}"
|
||||
destination.directory="${destination.directory}" />
|
||||
<processPlugins
|
||||
includes.file="${includes.directory}/core.includes"
|
||||
plugin.type="core"
|
||||
plugin.directories="${basedirectories}"
|
||||
destination.directory="${destination.directory}" />
|
||||
|
||||
<var name="destination.directory"
|
||||
value="${dataserver.root.directory}/lib/dependencies" />
|
||||
<mkdir dir="${destination.directory}" />
|
||||
<processPlugins
|
||||
includes.file="${includes.directory}/cots.includes"
|
||||
plugin.type="cots"
|
||||
plugin.directories="${basedirectories}"
|
||||
destination.directory="${destination.directory}" />
|
||||
|
||||
<!-- deploy scripts and config -->
|
||||
<copy todir="${dataserver.root.directory}/config" overwrite="false" verbose="true">
|
||||
<fileset dir="${basedir}/config" />
|
||||
</copy>
|
||||
<copy todir="${dataserver.root.directory}/bin" overwrite="true" verbose="true">
|
||||
<fileset dir="${basedir}/scriptBin" />
|
||||
</copy>
|
||||
<chmod dir="${dataserver.root.directory}/bin" perm="ug+rx" includes="**/*.sh"/>
|
||||
|
||||
<!-- cleanup the temporary directories -->
|
||||
<if>
|
||||
<available file="${basedir}/tmp" type="dir" />
|
||||
<then>
|
||||
<delete includeemptydirs="true">
|
||||
<fileset dir="${basedir}"
|
||||
includes="tmp/**" />
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
</sequential>
|
||||
</target>
|
||||
|
||||
|
||||
<!-- static -->
|
||||
<taskdef name="includegen"
|
||||
classname="com.raytheon.uf.anttasks.includesgen.GenerateIncludesFromFeature"
|
||||
classpathref="ant.classpath" />
|
||||
<taskdef resource="net/sf/antcontrib/antlib.xml"
|
||||
classpath="${esb.build.directory}/lib/ant/ant-contrib-1.0b3.jar" />
|
||||
</project>
|
|
@ -23,29 +23,19 @@
|
|||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# Mar 03, 2014 2756 bclement initial creation
|
||||
# Mar 06, 2014 2756 bclement changed classpath to reflect new lib structure
|
||||
# added log level change when debugging
|
||||
#
|
||||
#
|
||||
|
||||
function pathgen()
|
||||
{
|
||||
echo -n 'lib/plugins/*'
|
||||
for x in lib/dependencies/*
|
||||
do
|
||||
if [[ $x =~ ^.*\.jar$ ]]
|
||||
then
|
||||
echo -n ":$x"
|
||||
elif [[ -d $x ]]
|
||||
then
|
||||
echo -n ":${x}/*"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
if [[ $# > 0 && $1 == '-d' ]]
|
||||
then
|
||||
dbArg='-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5118'
|
||||
logLevel='-Ddataserver.logging.level=DEBUG'
|
||||
else
|
||||
# defaults
|
||||
dbArg=''
|
||||
logLevel=''
|
||||
fi
|
||||
|
||||
(cd $(dirname "$0")/..
|
||||
|
@ -55,7 +45,7 @@ then
|
|||
echo "PID file already exists at $PIDFILE, exiting"
|
||||
exit 1
|
||||
fi
|
||||
nohup java $dbArg -server -cp $(pathgen) com.raytheon.collaboration.dataserver.DataserverMain &
|
||||
nohup java $dbArg $logLevel -server -cp lib/uframe/*:lib/foss/* com.raytheon.collaboration.dataserver.DataserverMain &
|
||||
|
||||
echo $! > $PIDFILE
|
||||
)
|
||||
|
|
|
@ -37,6 +37,7 @@ import java.util.Properties;
|
|||
* Feb 5, 2014 2756 bclement Initial creation
|
||||
* Feb 28, 2014 2756 bclement added auth cache size
|
||||
* Mar 04, 2014 2756 bclement added xmpp server retry
|
||||
* Mar 06, 2014 2756 bclement added logging level
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -98,6 +99,9 @@ public class Config{
|
|||
public static final Boolean useStdOut = Boolean
|
||||
.getBoolean("collaboration.dataserver.stdout");
|
||||
|
||||
public static final String loggingLevel = System.getProperty(
|
||||
"dataserver.logging.level", "INFO");
|
||||
|
||||
private static Properties _props = null;
|
||||
|
||||
private static Properties _credProps = null;
|
||||
|
|
|
@ -25,6 +25,10 @@ import java.io.PrintStream;
|
|||
import java.util.TimeZone;
|
||||
|
||||
import org.eclipse.jetty.util.RolloverFileOutputStream;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ch.qos.logback.classic.Level;
|
||||
import ch.qos.logback.classic.Logger;
|
||||
|
||||
import com.raytheon.collaboration.dataserver.auth.ServerAuthManager;
|
||||
|
||||
|
@ -39,6 +43,7 @@ import com.raytheon.collaboration.dataserver.auth.ServerAuthManager;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Feb 5, 2014 2756 bclement Initial creation
|
||||
* Feb 28, 2014 2756 bclement added authManager
|
||||
* Mar 06, 2014 2756 bclement added logging level config
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -108,6 +113,8 @@ public class DataserverMain {
|
|||
* @throws IOException
|
||||
*/
|
||||
private static void configureLogging() throws IOException {
|
||||
Logger root = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
|
||||
root.setLevel(Level.valueOf(Config.loggingLevel));
|
||||
if (Config.useStdOut){
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue