`
diy8187
  • 浏览: 79984 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

OpenNMS Ant Build

阅读更多

<?xml version="1.0"?>

<!--========================================================

$Id: build.xml 5175 2006-11-19 01:20:21Z djgregor $

Build file for OpenNMS

Refactoring notes:

ELB - All targets that should be displayed require a description attribute.

ELB - All targets that should not be displayed require it's absence.

======================================================== -->

<project name="opennms" default="usage" basedir=".">

<description>

Build file for OpenNMS.

OpenNMS is a network monitoring system implemented in Java.

For more information consult the README file included in

your distribution.

</description>

<!-- overrride with site-specific settings (first proprety set wins) -->

<property file="build.properties"/>

<!-- versioning options -->

<property name="product.version" value="1.2.9"/>

<property name="product.release" value="0"/>

<property name="product.snapshot" value="true"/>

<property name="product.fullversion"

value="${product.version}-${product.release}"/>

<!-- build options -->

<!-- Warning: there are some internal ant properties named build.* -->

<!-- Note: build.dir needs to be a path relative to ${basedir}, and

the same thing might be the case for some properties that

contain build.dir -->

<property name="relative.build.dir" value="work"/>

<property name="build.dir" value="${basedir}/${relative.build.dir}"/>

<property name="build.castor.source.dir" value="${build.dir}/castor"/>

<property name="build.sablecc.source.dir" value="${build.dir}/sablecc"/>

<property name="build.docs.dir" value="${build.dir}/docs"/>

<property name="build.rpm.dir" value="${build.dir}/rpm"/>

<property name="build.filter.docs.dir" value="${build.dir}/docs.filter"/>

<property name="build.api.dir" value="${build.docs.dir}/javadoc"/>

<property name="build.classes.dir" value="${build.dir}/opennms/classes"/>

<property name="build.tests.dir" value="${build.dir}/opennms/tests"/>

<property name="build.jar.dir" value="${build.dir}/jar"/>

<property name="build.jicmp.dir" value="${build.dir}/jicmp"/>

<property name="build.jrrd.dir" value="${build.dir}/jrrd"/>

<property name="build.postgresql.dir" value="${build.dir}/postgresql"/>

<property name="build.release.dir" value="${build.dir}/releases"/>

<property name="build.postgresql.include.dir"

value="/usr/include/pgsql/server"/>

<property name="build.rrdtool.include.dir" value="/usr/include"/>

<property name="build.rrdtool.lib.dir" value="/usr/lib"/>

<property name="build.rrdtool.bin" value="/usr/bin/rrdtool"/>

<property name="database.name" value="opennms"/>

<property name="database.user" value="opennms"/>

<property name="database.password" value="opennms"/>

<!--compiler options-->

<property name="compiler.debug" value="true"/>

<property name="compiler.optimize" value="true"/>

<property name="compiler.verbose" value="false"/>

<!-- XXX This should be true, but will have to set it false for now -->

<property name="compiler.deprecation" value="false"/>

<!--source directories -->

<property name="source.dir" value="${basedir}/src"/>

<property name="core.source.dir" value="${source.dir}/core"/>

<property name="joesnmp.source.dir" value="${source.dir}/joesnmp"/>

<property name="postgresql.source.dir" value="${source.dir}/postgresql"/>

<property name="report.source.dir" value="${source.dir}/report"/>

<property name="services.source.dir" value="${source.dir}/services"/>

<property name="install.source.dir" value="${source.dir}/install"/>

<property name="web.source.dir" value="${source.dir}/web/src"/>

<!-- test results directory -->

<property name="test.xml.dir" value="${build.dir}/test-results" />

<property name="mock.logLevel" value="WARN" />

<property name="mock.debug" value="false" />

<property name="mock.rundbtests" value="false" />

<!-- docs source directory -->

<property name="docs.source.dir" value="${basedir}/docs"/>

<!--library directories-->

<!-- packaged libraries that are included in binary distributions -->

<property name="packaged.lib.dir" value="${basedir}/lib"/>

<!-- development libraries that are not included in binary distributions -->

<property name="dev.lib.dir" value="${basedir}/devlib"/>

<!-- castor specific -->

<property name="castor.xsd.dir" value="${basedir}/schema/xsd"/>

<property name="castor.config.dir"

value="${services.source.dir}/org/opennms/netmgt/config"/>

<property name="castor.typefactory" value="j2"/>

<!-- sablecc specific -->

<property name="sablecc.filter.dir" value="org/opennms/netmgt/filter"/>

<!-- relative directories for use in filesets and for install.dir -->

<property name="relative.install.dir" value="dist"/>

<!-- dist options and archive names -->

<property name="dist.source.archive.prefix"

value="${ant.project.name}-${product.version}-src"/>

<property name="dist.docs.archive.prefix"

value="${ant.project.name}-${product.version}-docs"/>

<!-- install directories -->

<!-- install.dir: the top directory into which to install OpenNMS -->

<property name="install.dir" value="${basedir}/${relative.install.dir}"/>

<property name="install.init.dir" value="${install.dir}/bin"/>

<property name="install.webapps.dir" value="${install.dir}/webapps" />

<property name="install.servlet.dir"

value="${install.webapps.dir}/opennms"/>

<property name="install.share.dir" value="${install.dir}/share"/>

<property name="install.bin.dir" value="${install.dir}/bin"/>

<property name="install.postgresql.dir" value="${install.dir}/lib"/>

<property name="install.contrib.dir" value="${install.dir}/contrib"/>

<property name="install.etc.dir" value="${install.dir}/etc"/>

<property name="install.logs.dir" value="${install.dir}/logs"/>

<property name="install.pid.file" value="${install.dir}/logs/opennms.pid"/>

<!-- install.prefix: a prefix used for installation in or chroot -->

<property name="install.prefix" value=""/>

<property name="install.postgresql.service" value="postgresql"/>

<property name="install.database.name" value="${database.name}"/>

<property name="install.database.user" value="${database.user}"/>

<property name="install.database.password" value="${database.password}"/>

<property name="install.database.driver" value="org.postgresql.Driver"/>

<!-- XXX why is compatible=7.1 being used?

It's not added here... see etc/opennms-database.xml and

src/web/etc/web.xml where @install.database.driver@ is used. -->

<property name="install.database.url"

value="jdbc:postgresql://localhost:5432/"/>

<property name="install.database.bindir"

value="/usr/bin"/>

<property name="install.rrdtool.bin" value="${build.rrdtool.bin}"/>

<property name="install.perl.bin" value="/usr/bin/perl"/>

<!-- rpm specific -->

<property name="rpm.install.dir" value="/opt/OpenNMS"/>

<property name="rpm.build.executable" value="rpmbuild"/>

<property name="rpm.build.docs" value="1"/>

<property name="rpm.sign" value="false"/>

<property name="rpm.buildtests" value="false"/>

<property name="rpm.database.name" value="opennms"/>

<property name="rpm.database.password" value="opennms"/>

<property name="rpm.database.user" value="opennms"/>

<property name="rpm.additional.args" value=""/>

<!-- jars that are referenced in multiple places -->

<property name="postgresql.jar" value="pg74.215.jdbc3.jar" />

<!-- paths -->

<path id="sources.java.path">

<pathelement path="${build.castor.source.dir}"/>

<pathelement path="${build.sablecc.source.dir}"/>

<pathelement path="${core.source.dir}"/>

<pathelement path="${joesnmp.source.dir}"/>

<pathelement path="${services.source.dir}"/>

<pathelement path="${web.source.dir}"/>

<pathelement path="${report.source.dir}"/>

<pathelement path="${install.source.dir}"/>

</path>

<!-- Classpath reference for <javac/> and <javadoc/> -->

<path id="libraries.java.path">

<pathelement path="${packaged.lib.dir}/log4j.jar"/>

<pathelement path="${packaged.lib.dir}/regexp120.jar"/>

<pathelement path="${packaged.lib.dir}/servlet.jar"/>

<pathelement path="${packaged.lib.dir}/ldap.jar"/>

<pathelement path="${packaged.lib.dir}/catalina.jar"/>

<pathelement path="${packaged.lib.dir}/castor-0.9.3.9.jar"/>

<pathelement path="${packaged.lib.dir}/fop0205.jar"/>

<pathelement path="${packaged.lib.dir}/avalon-framework-cvs-20020806.jar"/>

<pathelement path="${packaged.lib.dir}/batik.jar"/>

<pathelement path="${packaged.lib.dir}/mx4j-3.0.1.jar"/>

<pathelement path="${packaged.lib.dir}/jdhcp.jar"/>

<pathelement path="${packaged.lib.dir}/jcifs.jar"/>

<pathelement path="${packaged.lib.dir}/bsf220.jar"/>

<pathelement path="${packaged.lib.dir}/xerces201.jar"/>

<pathelement path="${packaged.lib.dir}/xmlrpc-1.2-b1.jar"/>

<pathelement path="${packaged.lib.dir}/jrobin-1.4.0.jar"/>

<pathelement path="${packaged.lib.dir}/mailapi.jar"/>

<pathelement path="${packaged.lib.dir}/smtp.jar"/>

<pathelement path="${packaged.lib.dir}/jradius-client.jar"/>

<pathelement path="${packaged.lib.dir}/smack.jar"/>

<pathelement path="${packaged.lib.dir}/smackx.jar"/>

<!-- <pathelement path="${packaged.lib.dir}/imap.jar"/> -->

<!-- <pathelement path="${packaged.lib.dir}/pop3.jar"/> -->

<pathelement path="${packaged.lib.dir}/activation.jar"/>

<pathelement path="${packaged.lib.dir}/jmta.jar"/>

<pathelement path="${packaged.lib.dir}/c3p0-0.9.0-pre5.jar"/>

<pathelement path="/System/Library/Java"/>

</path>

<!-- The jars listed for Class-Path in the MANIFEST.MF for the installer's

JAR file -->

<path id="install.manifest.jars">

<pathelement path="${packaged.lib.dir}/${postgresql.jar}"/>

</path>

<pathconvert refid="install.manifest.jars" pathsep=" "

property="install.manifest.classes">

<map from="${packaged.lib.dir}/" to=""/>

</pathconvert>

<!-- Libraries that are linked into Tomcat's server/lib directory from

WEB-INF/lib by the installer or by the RPM. These also need to be

in web.jars or one of the opennms_*.jar files so that the libraries

make it into WEB-INF/lib. See the "install.servlet" target to see

how things are copied into WEB-INF/lib. -->

<path id="tomcatlib.jars.path">

<pathelement path="${packaged.lib.dir}/log4j.jar"/>

<pathelement path="${packaged.lib.dir}/castor-0.9.3.9.jar"/>

<pathelement path="${packaged.lib.dir}/castor-0.9.3.9-xml.jar"/>

<pathelement path="${build.jar.dir}/opennms_core.jar"/>

<pathelement path="${build.jar.dir}/opennms_services.jar"/>

<pathelement path="${build.jar.dir}/opennms_web.jar"/>

<!-- These are the libraries that were in opennms.spec.in:

castor-0.9.3.9.jar \

log4j.jar \

opennms_common.jar \

opennms_core.jar \

opennms_services.jar \

opennms_web.jar \

-->

</path>

<pathconvert targetos="unix" refid="tomcatlib.jars.path"

property="install.tomcat.serverlibs">

<map from="${packaged.lib.dir}/" to=""/>

<map from="${build.jar.dir}/" to=""/>

</pathconvert>

<!-- patterns and sets -->

<!-- XXX not used -->

<!--

<patternset id="not.run">

<exclude name="nightly-build.pl"/>

<exclude name="*.bat"/>

</patternset>

-->

<!-- Files in ${packaged.lib.dir} that are copied into ${install.dir}/lib.

Note: everything in ${build.jar.dir} is also copied. -->

<patternset id="lib.jars">

<include name="*.jar" />

<exclude name="ant*.jar" />

<exclude name="fop0170.jar" />

<exclude name="fop0203.jar" />

<exclude name="avalon-framework-4.0.jar" />

<exclude name="jakarta-regexp*.jar" />

<exclude name="pylib*.jar" />

<exclude name="sablecc*.jar" />

</patternset>

<!-- Files in ${packaged.lib.dir} that are copied into

${install.servlet.dir}/WEB-INF/lib.

Note: opennms_*.jar from ${build.jar.dir} is also copied. -->

<patternset id="web.jars">

<include name="castor*.jar" />

<include name="fop0205.jar" />

<include name="jms*.jar" />

<include name="log4j*.jar" />

<include name="${postgresql.jar}" />

<include name="regexp*.jar" />

<include name="w3c*.jar" />

<!--- Remove this for 1.4 since it is included in the JVM

<include name="xalan231.jar" />

-->

<include name="avalon-framework-cvs-20020806.jar" />

<include name="logkit-1.0.jar" />

<include name="batik.jar" />

<include name="jcifs.jar" />

<include name="ldap.jar" />

<include name="jrobin*.jar" />

<include name="activation.jar" />

<include name="imap.jar" />

<include name="jmta.jar" />

<include name="mailapi.jar" />

<include name="pop3.jar" />

<include name="smtp.jar" />

<include name="c3p0-0.9.0-pre5.jar"/>

</patternset>

<!-- The includes in this patternset need to match the directories in

the <fop> tasks for the pdf.docs target, along with the common

directory. -->

<patternset id="doc.dirs">

<include name="common/**"/>

<include name="install/**"/>

<include name="releasenotes/**"/>

</patternset>

<patternset id="source.dirs">

<include name="**/*"/>

<include name="**/CVS/**"/>

<include name="${relative.build.dir}/**"/>

<exclude name="${relative.install.dir}/**"/>

</patternset>

<!-- ant tasks -->

margin: 0cm 0c

分享到:
评论

相关推荐

    opennms-1.6.5-1_new.rar_OpenN_openNMS_opennms-1_开源_网络管理

    openNMS1.6.5源码,最新稳定的版本。OpenNMS是第一个开发在开源模式下的企业级网络管理平台应用。OpenNMS的目标是成为一个真真的分布式、可升级的网络管理平台,尽管它看似一个FCAPS网络管理模型,使之可用于开放...

    opennms配置,功能手册

    OpenNMS是一款开源的网络监控系统,用于管理网络设备、服务和应用程序。它提供了一整套功能,包括自动发现网络资源、性能监控、故障检测、报警通知和报告生成。本手册将详细介绍OpenNMS的配置与功能,帮助你充分利用...

    opennms-source.tar.gz_SNMP_openNMS

    《基于SNMP协议的OpenNMS网络管理平台详解》 在IT行业中,网络管理是至关重要的环节,而OpenNMS作为一款开源的网络管理系统,以其强大的功能和灵活的可扩展性,深受广大网络管理员的喜爱。"opennms-source.tar.gz_...

    Opennms从源码编译安装指南

    "Opennms从源码编译安装指南" Opennms是一款功能强大的网络管理系统,能够提供网络设备的监控、配置和故障排除等功能。从源码编译安装Opennms可以提供更高的自定义化和灵活性,满足个性化的需求。本文将详细介绍...

    openNMS1.10.3-1源代码

    **openNMS1.10.3-1源代码详解** `openNMS` 是一个全球广泛使用的开源网络管理系统,其核心目标是监控网络设备、服务和应用程序的可用性、性能和流量。作为一款强大的网络监控平台,它提供了一整套功能,包括自动...

    OpenNMS安装、配置[归纳].pdf

    OpenNMS安装、配置详解 OpenNMS是一个流行的开源网络管理平台,提供了强大的网络监控和管理功能。本文将详细介绍如何在Ubuntu系统上安装和配置OpenNMS。 一、安装OpenNMS 1. 首先,需要编辑Ubuntu的sources.list...

    OpenNMS介绍和相关说明

    OpenNMS Introduction,OpenNMS architecture,OpenNMS SNMP Data Collection,Data Collection Configuration example

    opennms1.12.5-1源码下载

    OpenNMS是开源网络管理平台,它主要用于监控网络设备、服务和应用程序的性能与可用性。这个"opennms1.12.5-1源码下载"标题指的是该平台的1.12.5-1版本的源代码,允许用户深入理解其内部工作原理,进行定制开发或调试...

    OpenNMS安装相关问题

    OpenNMS是一个开源的网络管理系统,用于监视网络中的设备以及服务。它可以帮助网络管理员发现网络中的设备,收集性能数据,监控服务是否正常运行,并在发生故障时提供报警通知。 ### 安装OpenNMS的前置要求: 1. *...

    OpenNMS数据库关系图

    OpenNMS数据库,OpenNMS数据库中各个字段的关系矢量图

    openNMS操作手册

    《openNMS操作手册》是一份详尽的指导文档,旨在帮助用户理解和使用openNMS这一网络管理系统。openNMS是一个全面的网络监控和管理平台,它的主要功能包括网络节点的自动发现、服务监控、故障通知、事件整合、自动...

    OpenNMS数据采集配置

    OpenNMS是一个开源的网络监控平台,它支持多种网络协议和服务,用于监控网络设备的性能和可用性。OpenNMS数据采集配置是这个系统中非常重要的一个环节,涉及到从网络设备中采集各种性能指标数据的过程,以及后续数据...

    openNMS开源代码

    openNMS开源网管,OpenNMS是一个企业级基于Java/XML的分布式网络和系统监控管理平台-OpenNMS Open Source Network Management, OpenNMS is an enterprise-class based on the Java/XML distributed network and ...

    opennms启动过程分析

    OpenNMS 启动过程分析 OpenNMS 作为一个功能强大的网络管理系统,其启动过程中涉及到多个服务的启动、线程的启动和配置文件的解析。下面将对 OpenNMS 的启动过程进行详细分析。 一、OpenNMS 系统架构 OpenNMS 的...

    OpenNMS通知配置(发送邮件)

    在IT行业中,OpenNMS是一个开源的网络管理系统,它可以监控网络中的设备和服务,并在出现问题时进行通知。本文将深入介绍如何在OpenNMS中配置邮件通知,让管理员能够通过邮件接收来自OpenNMS的事件通知。 首先,...

    opennms windows jicmp.dll

    windows下opennms jicmp.dll

    opennms sendmail(邮件发送) 功能配置

    OpenNMS是一款开源的网络管理平台,专门用于监视网络、网络设备和服务的状态。其具有多种功能,其中之一便是通过邮件发送功能,当网络事件发生时,能够自动发送邮件通知系统管理员,便于及时响应问题。这项功能对于...

    Opennms安装配置教程(超详细)

    OpenNMS是由许多个人及组织,在OpenNMS软件专案这支大旗下,所共同打造的网络管理系统。从最初到2002年,程序代码是由Oculan Corporation开发并以GPL释出,后来后案的管理移交给 Tarus Balog。

    standalone-opennms

    standalone-opennms-1.6.8.jar

Global site tag (gtag.js) - Google Analytics