> Java > tools > makesite
> Java > tools > makesite
by ZweiBieren "makesite" Tool Java coffee cup logo

"makesite.xml" is an Ant build script for constructing a tree of webpages each relating to one project in a tree of NetBeans packages.

Properties sources

The enviroment must have a few defined properties:

  • JAVAROOT
  • HOME
  • PICTOOLS

Properties are read from HOME/.ant/user.prperties. This is a good place to define

  • ftp.userid
  • ftp.password

Properties are read from JAVAROOT/site.properties

site.domain : physpics.com
# the URL to website is http://${site.domain}
site.package.prefix : com.physpics
# prefix for package names
site.vendor : physpics.com
# This value is used in both the manifest and the jnlp fle.
 
site.ftp.host : physpics.com
# host for ftp acess
site.ftp.prefix: /physpics.com
# directory to get from host access initial directory to tree of web pages
physpics.dir = U:/Fred/java/
# location of physpics Java tools
site.properties.prefix: Pictools
# prefix to names of the tree properties files
cygwin.dir : c:/cygwin
# where the cygwin tree is rooted; (Unix utilities are in ${cygwin.dir} under bin, usr/bin, or etc.)
antform.home: C:/Progra~2/Apache/antform-bin-2.0
# root of ant installation

propcon is called to read from Pictools.properties (see site.properties.prefix, just above) in directories the current directory and its parents up to JAVAROOT. and also from HOME/PictoolOverrides, PICTOOLS/PictoolsOverrides, HOME/PictoolsDefaults, PICTOOL/PictoolsDefaults.properties. The combined result is placed in DOT/Pictools.xml. If there is a distsrc/PACKAGENAME.properties, it it property-expanded and placed in the package directory.

Trees

There are several routes to a package on the tree. All have in common a "SUBTREE" value, derived from the directory path from JAVAROOT to the package directory. If JAVAROOT is "U:\Fred\Java\" and a package directory is "U:\Fred\Java\tools\ui", then the package.subtree.name is "tools.ui" and the package.slashed.subtree.name is "tools/ui". Makesite computes these values. JAVAROOT must be defined in the environment.

        Compute package.subtree.name and package.slashed.subtree.name;
            this SUBTREE value appears in
                package name: ${site.package.prefix}.SUBTREE
                    com.physpics.tools.ui
                source directory: ENV.JAVAROOT/SUBTREE/src/${site.package.prefix}/SUBTREE
                    U:/Fred/Java/tools/ui/src/com/physpics/tools/ui
                class files: build/classes/${site.package.prefix}/SUBTREE
                    build/classes/com/physpics/tools/ui
                web ftp location: ${site.ftp.prefix}/${site.tree.dir}/SUBTREE
                    physpics.com/Java/tools/ui
                web URL: ${site.domain}/${site.tree.dir}/SUBTREE
                    physpics.com/Java/tools/ui
       

SourceExplorer and maybe other tools need access to the permanent home of physpics.com/Java. So physpics.java.site is defined in .../Java/Pictools.properties.

forweb directory is items to be copied to top level of web
    things may generate into there
some things for web are at the outer level (so DreamWeaver puts them in the right place

similarly, java projects are in web order/organization

ENV.home is the one we use (user.dir can be wrong)

package dir is some.prefix.{dot without JAVAROOT}

site.package.prefix  (in JAVAROOT/Pictools.properties) physpics.com
${site.package.prefix}
${env.JAVAROOT}
${user.dir}
=>
    package.name
    &package.prefix
=>
    slashed.package.name


properties  in ant are in unix form
convert to windows only for <exec>

tree.icon is full unix path
	${JAVAROOT}/tools/Tools.ico
	${JAVAROOT}/tools/ui/blox/Blox.ico
it is an .ico file with sizes  16 32 48 64 128

tree.logo is html for displaying a logo
    default is a Java teacup


Pictools.properties is build-time and web info
it is not accessible for user parameterization
For user parameterization, use PropertyPack

thus Pictools.properties is installed on website and in package.dir

projectname.ico needs to be created in .
if not, the one in tools/sample.dot/icon.ico will be used
    under the name {project.name}.ico
first image in .ico should be 32x32 (I think)

installer - unchanged


extra.javadoc.dirs
    each directory in the list must be preceded by a COMMA
    no spaces allowed
    this list is added to the directories processed by javadoc
    it results in adding the source files from the given directories
        to the tree called  ./SX-notags


there is dot/Pictools.properties
generate dot/pictools.ant
read dot/pictools.ant as properties

distsrc/projname.properties filtered to package dir (deprecated)

"Resources"
    An ant <resources> is a collection of files or other entities.
    A <fileset> is an instance of <resources>, so a set of files from 
    a single directory tree can be written <fileset dir="the directory" .../>
    Files from diverse sources can be in a <union>.
    
    The following <resources> id-s are copied or expanded to their indicated 
    destinations. Expanding replaces ant-property invocations.

        processed after compile
            <resources id="copy.to.assets">
            <resources id="expand.to.assets">

        processed before upload
            <property name="copy.to.web" 
                    value="(space-separated list of files subordinate to DOT)"/>
            <resources id="copy.to.forweb">
                    files whose web directory 
                    will differ from their source directory
            <property name="expand.to.forweb" 
                    value="(list of files to expand from distsrc into forweb)"/>

        <resources id="to.be.installed">
                - client list of items to be installed by InstallPACKAGENAME.jar
        <resources id="default.to.be.installed"> 
                - default for to.be.installed
                The default is installed if there is no value for to.be.installed.
                A client may list the default among the items of  to.be.installed

        <property name="files.minimum.for.srctar"
                value="A builtin list of items to copy from DOT 
                    to the source tarball."/>
        <property name="files.additional.for.srctar"
                value"client specified list of additional files 
                    to copy from DOT to the source tarball."/>

    (To print a list of the contents of <resources id="xxx"> write
            <pathconvert pathsep="${line.separator} & " refid="xxx"/>   
    )
    
images/ for web pages go in ./images/  
    these are uploaded to the webpage's /images/ directory
images for apps go in the PACKAGE directory
    they are automatically copied ro the PACKAGE directory and the jar file


distsrc/Pkg.properties                 
is filtered into package.dir           
after building and reading Pictools.ant
distsrc/Pkg.properties                 
    needs to capture properties from pictools with rules of form
`       foo=${foo}

explicitly mentioned files
    distsrc/project.build.number
    distsrc/README.txt -> package, dot
    distsrc/manifest.mf -> dot. jar

${env.HOME}/java.site.properties
${user.home}/.ant/user.properties
./Pictools.properties
distsrc/PKG.properties   -> package
./build.xml

set main class in the properties pane for the project

forweb is deletable
websrc is for permanent files to be copied to forweb
	(usually such files are in DOT itself)



things to carry over or convert
 DONE   <property name="files.for.package" 
 DONE><property name="files.filtered.for.package"><resources id="resources.for.installer">
    <property name="files.filtered.for.webpage" 


copy-to-XXXX do both copy and filter
-do-copy-to-dot replace copy-assets


    ftp dist/lib to webpage
    & allow (Option +Indexes) in Java/**/lib DONE

installer installs
    resources.for.installer
    min.resources.for.installer
        REAME.txt
        Pkg.ico/
        tools/selfinstall/build/classes" 



UI/assets
    are not read/write
    they seem be runtime items somehow 
        cannot fetched from UI.jar
    aha: by webpage???




how tree vs file
empty union is okay includes okay, but one may say
    <union id="test-ref">
        <fileset dir="other" includes="box.html"/>
        <fileset dir="distsrc" includes="xxx"/>
        <union></union>
        <union refid="notdef"/>
    </union>
    <target name="copytest" description="test union as a source">
        <copy todir="other/testoutput">
            <union>
                <!-- first output is in testoutput itself -->
                <fileset dir="distsrc" includes="README.txt" />
                <!-- second output is in testoutput/distsrc -->
                <fileset dir="." includes="distsrc/project.build.number"/>
                <union refid="test-ref"/>
            </union>
        </copy>
    </target>
 
    
    
    
    <target name="test-dir-upload" description="does ftp create dirs?">
        <ftp action="put" server="${site.ftp.host}"
                userid="${ftp.userid}" password="${ftp.password}"
                remotedir="${project.ftp.dir}/"
                verbose="yes" >
            <fileset dir="dist" includes="/lib"/>
        </ftp>
    </target>


About.text=<center><h1>Tools</h1> <br>Version 1.0 (34zb Dec 12, 2016)</center><br> <p>Tools for building applications</p> <p>by ZweiBieren  (ZweiBieren@yahoo.com) <br>      physpics.com      <br>      Dec 12, 2016    </p>  <br> <br> 
DSTAMP=20161212
HOME=U\:/Fred
JAVAROOT=U\:/Fred/Java
PICTOOLS=U\:/Fred/Physpics/websrc/pictools
SRCROOT=U\:/Fred/Physpics/websrc
TODAY=December 12 2016
TSTAMP=1035
annotation.processing.enabled=true
annotation.processing.enabled.in.editor=false
annotation.processing.processor.options=
annotation.processing.processors.list=
annotation.processing.run.all.processors=true
ant.core.lib=C\:\\Program Files\\NetBeans 8.2\\extide\\ant\\lib\\ant.jar
ant.file=U\:\\Fred\\Java\\tools\\build.xml
ant.file.PhyspicsInstall=U\:\\Fred\\Java\\tools\\makesite.xml
ant.file.Tools=U\:\\Fred\\Java\\tools\\build.xml
ant.file.Tools-impl=U\:\\Fred\\Java\\tools\\nbproject\\build-impl.xml
ant.file.type.PhyspicsInstall=file
ant.file.type.Tools=file
ant.file.type.Tools-impl=file
ant.home=C\:\\Program Files\\NetBeans 8.2\\extide\\ant
ant.java.version=1.8
ant.junit.enabletestlistenerevents=true
ant.project.default-target=upload
ant.project.invoked-targets=print-properties
ant.project.name=Tools
ant.version=Apache Ant(TM) version 1.9.7 compiled on April 9 2016
antform.home=C\:/Progra~2/Apache/antform-bin-2.0
ap.cmd.line.internal=
ap.proc.none.internal=
ap.processors.internal=
ap.supported.internal=true
apple.awt.graphics.UseQuartz=true
apple.laf.useScreenMenuBar=true
application.args=
application.title=Tools
application.vendor=Owner
auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml
awt.toolkit=sun.awt.windows.WToolkit
basedir=U\:\\Fred\\Java\\tools
build.classes.dir=build/classes
build.classes.excludes=**/*.java,**/*.form
build.compiler.emacs=true
build.dir=build
build.generated.dir=build/generated
build.generated.sources.dir=build/generated-sources
build.sysclasspath=ignore
build.test.classes.dir=build/test/classes
build.test.results.dir=build/test/results
compile.on.save=true
copylibs.rebase=true
created.property.files=true
cygwin.dir=c\:/cygwin
debug-args-line=-Xdebug
debug-transport=dt_shmem
debug-transport-by-os=dt_shmem
debug.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar\:build/classes
debug.test.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar\:build/classes\:${libs.junit.classpath}\:build/test/classes
default.javac.source=1.8
default.javac.target=1.8
dist.dir=dist
dist.jar=dist/Tools.jar
dist.javadoc.dir=dist/javadoc
do.archive=true
do.archive+main.class.available=true
do.depend=false
do.jar=true
do.mkdist=true
dotted.JAVAROOT=.Fred.Java
downloadable=*.jar *.jnlp *.java
endorsed.classpath=
endorsed.classpath.cmd.line.arg=
env.\=\:\:=\:\:\\
env.ALLUSERSPROFILE=C\:\\ProgramData
env.ANT_HOME=c\:\\Progra~2\\Apache\\apache-ant-1.8.4
env.APPDATA=C\:\\Users\\Fred\\AppData\\Roaming
env.COMPUTERNAME=TIGER
env.ComSpec=C\:\\WINDOWS\\system32\\cmd.exe
env.CommonProgramFiles=C\:\\Program Files\\Common Files
env.CommonProgramFiles(x86)=C\:\\Program Files (x86)\\Common Files
env.CommonProgramW6432=C\:\\Program Files\\Common Files
env.FP_NO_HOST_CHECK=NO
env.HOME=U\:\\Fred
env.HOMEDRIVE=C\:
env.HOMEPATH=\\Users\\Fred
env.INTEL_MEC=Intel(R) Management Engine Components
env.JAVAROOT=U\:\\Fred\\Java
env.JAVA_HOME=c\:\\PROGRA~1\\Java\\jdk1.8.0_102
env.JRUBY_HOME=u\:\\Programs\\jruby-1.7.11\\
env.LOCALAPPDATA=C\:\\Users\\Fred\\AppData\\Local
env.LOGONSERVER=\\\\TIGER
env.M2=C\:\\PROGRA~2\\Java\\APACHE~1.5\\bin
env.M2_HOME=C\:\\PROGRA~2\\Java\\APACHE~1.5
env.NUMBER_OF_PROCESSORS=4
env.OS=Windows_NT
env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
env.PICTOOLS=U\:\\Fred\\Physpics\\websrc\\pictools
env.PROCESSOR_ARCHITECTURE=AMD64
env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
env.PROCESSOR_LEVEL=6
env.PROCESSOR_REVISION=3a09
env.PSModulePath=C\:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\Modules\\
env.PUBLIC=C\:\\Users\\Public
env.Path=C\:\\ProgramData\\Oracle\\Java\\javapath;C\:\\PROGRA~2\\Java\\APACHE~1.5\\bin;c\:\\Progra~2\\Apache\\apache-ant-1.8.4\\bin;c\:\\PROGRA~1\\Java\\jdk1.8.0_102\\bin;C\:\\Program Files\\Ghostscript\\gsview;C\:\\Program Files\\Ghostscript\\gs9.06\\bin;c\:\\Progra~2\\Intel\\iCLS Client\\;c\:\\Program Files\\Intel\\iCLS Client\\;c\:\\Progra~2\\NVIDIA Corporation\\PhysX\\Common;C\:\\WINDOWS\\system32;C\:\\WINDOWS;C\:\\WINDOWS\\System32\\Wbem;C\:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C\:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C\:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;c\:\\Progra~2\\Intel\\Intel(R) Management Engine Components\\DAL;c\:\\Progra~2\\Intel\\Intel(R) Management Engine Components\\IPT;c\:\\Progra~2\\Windows Live\\Shared;c\:\\Progra~2\\WinMerge;C\:\\Program Files (x86)\\Apache\\Subversion\\bin;C\:\\Program Files (x86)\\Windows Live\\Shared;C\:\\Program Files\\Windows Media Components\\Tools\\WMAL2PCM;C\:\\Program Files (x86)\\PHP;C\:\\Program Files\\TortoiseSVN\\bin;c\:\\cygwin64\\bin
env.ProgramData=C\:\\ProgramData
env.ProgramFiles=C\:\\Program Files
env.ProgramFiles(x86)=C\:\\Program Files (x86)
env.ProgramW6432=C\:\\Program Files
env.SESSIONNAME=Console
env.SRCROOT=U\:\\Fred\\Physpics\\websrc
env.SystemDrive=C\:
env.SystemRoot=C\:\\WINDOWS
env.TEMP=C\:\\Users\\Fred\\AppData\\Local\\Temp
env.TMP=C\:\\Users\\Fred\\AppData\\Local\\Temp
env.USERDOMAIN=Tiger
env.USERDOMAIN_ROAMINGPROFILE=Tiger
env.USERNAME=Fred
env.USERPROFILE=C\:\\Users\\Fred
env.windir=C\:\\WINDOWS
env.x86=c\:\\Progra~2
excludes=
file.encoding=Cp1252
file.encoding.pkg=sun.io
file.reference.commons-logging-1.1.jar=C\:\\WINDOWS\\Sun\\Java\\lib\\ext
file.reference.commons-logging-api-1.1.jar=C\:\\WINDOWS\\Sun\\Java\\lib\\ext
file.separator=\\
files.for.package=colorRange.txt colorRange.png colors.html colors.txt
files.minimum.for.srctar=src/  distsrc/   nbprobject/  build.xml                     *.php *.html images/ resources/ 
ftp.password=Tnrft?
ftp.userid=physpics
general.excludes=**/_notes **/_notes/** **/*BAK **/Thumbs.db
guice.disable.misplaced.annotation.check=true
have.sources=true
http.nonProxyHosts=localhost|127.0.0.1|Tiger
https.nonProxyHosts=localhost|127.0.0.1|Tiger
includes=**
j2se.version=1.7+
jar.archive.disabled=false
jar.compress=false
jar.index=false
jar.index.metainf=false
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.awt.printerjob=sun.awt.windows.WPrinterJob
java.class.path=C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\boot.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\org-openide-modules.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\org-openide-util-lookup.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\org-openide-util-ui.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\org-openide-util.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\boot_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\boot_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\boot_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\boot_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-modules_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-modules_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-modules_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-modules_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-lookup_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-lookup_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-lookup_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-lookup_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-ui_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-ui_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-ui_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util-ui_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\lib\\locale\\org-openide-util_zh_CN.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\lib\\dt.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\lib\\tools.jar
java.class.version=52.0
java.endorsed.dirs=C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\endorsed
java.ext.dirs=C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\ext;C\:\\WINDOWS\\Sun\\Java\\lib\\ext
java.failonerror=true
java.home=C\:\\Program Files\\Java\\jdk1.8.0_102\\jre
java.io.tmpdir=C\:\\Users\\Fred\\AppData\\Local\\Temp\\
java.library.path=C\:\\Program Files\\NetBeans 8.2\\bin;C\:\\WINDOWS\\Sun\\Java\\bin;C\:\\WINDOWS\\system32;C\:\\WINDOWS;C\:\\ProgramData\\Oracle\\Java\\javapath;C\:\\PROGRA~2\\Java\\APACHE~1.5\\bin;c\:\\Progra~2\\Apache\\apache-ant-1.8.4\\bin;c\:\\PROGRA~1\\Java\\jdk1.8.0_102\\bin;C\:\\Program Files\\Ghostscript\\gsview;C\:\\Program Files\\Ghostscript\\gs9.06\\bin;c\:\\Progra~2\\Intel\\iCLS Client\\;c\:\\Program Files\\Intel\\iCLS Client\\;c\:\\Progra~2\\NVIDIA Corporation\\PhysX\\Common;C\:\\WINDOWS\\system32;C\:\\WINDOWS;C\:\\WINDOWS\\System32\\Wbem;C\:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C\:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C\:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;c\:\\Progra~2\\Intel\\Intel(R) Management Engine Components\\DAL;c\:\\Progra~2\\Intel\\Intel(R) Management Engine Components\\IPT;c\:\\Progra~2\\Windows Live\\Shared;c\:\\Progra~2\\WinMerge;C\:\\Program Files (x86)\\Apache\\Subversion\\bin;C\:\\Program Files (x86)\\Windows Live\\Shared;C\:\\Program Files\\Windows Media Components\\Tools\\WMAL2PCM;C\:\\Program Files (x86)\\PHP;C\:\\Program Files\\TortoiseSVN\\bin;c\:\\cygwin64\\bin;.
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.8.0_102-b14
java.specification.name=Java Platform API Specification
java.specification.vendor=Oracle Corporation
java.specification.version=1.8
java.util.logging.config.class=org.netbeans.core.startup.TopLogging
java.vendor=Oracle Corporation
java.vendor.url=http\://java.oracle.com/
java.vendor.url.bug=http\://bugreport.sun.com/bugreport/
java.version=1.8.0_102
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Oracle Corporation
java.vm.specification.version=1.8
java.vm.vendor=Oracle Corporation
java.vm.version=25.102-b14
javac.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar
javac.compilerargs=
javac.debug=true
javac.deprecation=true
javac.external.vm=false
javac.fork=false
javac.processorpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar
javac.profile.cmd.line.arg=
javac.source=1.7
javac.target=1.7
javac.test.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar\:build/classes\:${libs.junit.classpath}
javac.test.processorpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar\:build/classes\:${libs.junit.classpath}
javadoc.additionalparam=
javadoc.author=false
javadoc.encoding=
javadoc.encoding.used=UTF-8
javadoc.noindex=false
javadoc.nonavbar=false
javadoc.notree=false
javadoc.preview=true
javadoc.private=false
javadoc.splitindex=true
javadoc.use=true
javadoc.version=false
javadoc.windowtitle=
jaxbwiz.endorsed.dirs=C\:\\Program Files\\Java\\NetBeans 6.8\\ide12\\modules\\ext\\jaxb\\api
jdk.home=C\:\\Program Files\\Java\\jdk1.8.0_102
jdk.launcher.addexports.0=java.desktop/sun.awt\=ALL-UNNAMED
jdk.launcher.addexports.1=java.base/jdk.internal.jrtfs\=ALL-UNNAMED
jdk.launcher.addexports.2=java.desktop/java.awt.peer\=ALL-UNNAMED
jdk.launcher.addexports.3=java.desktop/sun.awt.im\=ALL-UNNAMED
jdk.launcher.addexports.4=java.desktop/com.sun.java.swing.plaf.windows\=ALL-UNNAMED
jdk.launcher.addexports.5=java.management/sun.management\=ALL-UNNAMED
jdkBug6558476=false
jna.boot.library.name=jnidispatch-422
jna.loaded=true
jnlp.codebase.type=no.codebase
jnlp.descriptor=application
jnlp.enabled=false
jnlp.mixed.code=default
jnlp.offline-allowed=false
jnlp.signed=false
jnlp.signing=
jnlp.signing.alias=
jnlp.signing.keystore=
libs.ApacheCommons.classpath=U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\commons-codec-1.6.jar;U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\commons-logging-1.1.1.jar;U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\fluent-hc-4.2.3.jar;U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\httpclient-4.2.3.jar;U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\httpclient-cache-4.2.3.jar;U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\httpcore-4.2.2.jar;U\:\\Fred\\Java\\external\\Apache\\httpcomponents-client-4.2.3\\lib\\httpmime-4.2.3.jar;U\:\\Fred\\Java\\external\\Apache\\commons-lang3-3.1\\commons-lang3-3.1.jar;U\:\\Fred\\Java\\external\\Apache\\commons-logging-1.1.3\\commons-logging-1.1.3.jar;U\:\\Fred\\Java\\external\\Apache\\commons-logging-1.1.3\\commons-logging-api-1.1.3.jar
libs.ApacheCommons.javadoc=
libs.ApacheCommons.maven-pom=
libs.ApacheCommons.src=
libs.CopyLibs.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-java-j2seproject-copylibstask.jar
libs.CopyLibs.javadoc=
libs.CopyLibs.maven-pom=
libs.CopyLibs.src=
libs.JAXB-ENDORSED.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\api\\jaxb-api.jar
libs.JAXB-ENDORSED.javadoc=
libs.JAXB-ENDORSED.maven-pom=
libs.JAXB-ENDORSED.src=
libs.JWSAntTasks.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar
libs.JWSAntTasks.javadoc=
libs.JWSAntTasks.maven-pom=
libs.JWSAntTasks.src=
libs.MySQLDriver.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\mysql-connector-java-5.1.23-bin.jar
libs.MySQLDriver.javadoc=
libs.MySQLDriver.maven-pom=
libs.MySQLDriver.src=
libs.PDFBOX2.classpath=U\:\\Fred\\Java\\external\\Apache\\pdfbox\\pdfbox-2\\pdfbox\\target\\pdfbox-2.0.0-SNAPSHOT.jar;U\:\\Fred\\Java\\external\\Apache\\pdfbox\\pdfbox-2\\jempbox\\target\\jempbox-2.0.0-SNAPSHOT.jar;U\:\\Fred\\Java\\external\\Apache\\pdfbox\\pdfbox-2\\fontbox\\target\\fontbox-2.0.0-SNAPSHOT.jar
libs.PDFBOX2.javadoc=
libs.PDFBOX2.maven-pom=
libs.PDFBOX2.src=
libs.PostgreSQLDriver.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\postgresql-9.4.1209.jar
libs.PostgreSQLDriver.javadoc=
libs.PostgreSQLDriver.maven-pom=
libs.PostgreSQLDriver.src=
libs.Tools.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar
libs.Tools.javadoc=
libs.Tools.maven-pom=
libs.Tools.src=
libs.absolutelayout.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\AbsoluteLayout.jar
libs.absolutelayout.javadoc=
libs.absolutelayout.maven-pom=
libs.absolutelayout.src=
libs.beans-binding.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\beansbinding-1.2.1.jar
libs.beans-binding.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\docs\\beansbinding-1.2.1-doc.zip
libs.beans-binding.maven-pom=
libs.beans-binding.src=
libs.eclipselink.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\eclipselink\\eclipselink.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\eclipselink\\javax.persistence_2.1.0.v201304241213.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\eclipselink\\org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar
libs.eclipselink.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\docs\\javax.persistence-2.1.0-doc.zip
libs.eclipselink.maven-pom=
libs.eclipselink.src=
libs.eclipselinkmodelgen.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\eclipselink\\org.eclipse.persistence.jpa.modelgen_2.5.2.v20140319-9ad6abd.jar
libs.eclipselinkmodelgen.javadoc=
libs.eclipselinkmodelgen.maven-pom=
libs.eclipselinkmodelgen.src=
libs.hamcrest.classpath=C\:\\Program Files\\NetBeans 8.2\\platform\\modules\\ext\\hamcrest-core-1.3.jar
libs.hamcrest.javadoc=
libs.hamcrest.maven-pom=
libs.hamcrest.src=
libs.hibernate4-persistence.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\antlr-2.7.7.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\c3p0-0.9.2.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-c3p0-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\mchange-commons-java-0.2.3.4.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\dom4j-1.6.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\ehcache-core-2.4.3.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-ehcache-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-core-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\jboss-logging-3.1.3.GA.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-commons-annotations-4.0.4.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-entitymanager-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\javassist-3.18.1-GA.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\jboss-transaction-api_1.2_spec-1.0.0.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\slf4j-api-1.6.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\slf4j-simple-1.6.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-jpa-2.1-api-1.0.0.Final.jar
libs.hibernate4-persistence.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\docs\\javax.persistence-2.1.0-doc.zip
libs.hibernate4-persistence.maven-pom=
libs.hibernate4-persistence.src=
libs.hibernate4-persistencemodelgen.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-jpamodelgen-4.3.1.Final.jar
libs.hibernate4-persistencemodelgen.javadoc=
libs.hibernate4-persistencemodelgen.maven-pom=
libs.hibernate4-persistencemodelgen.src=
libs.hibernate4-support.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\antlr-2.7.7.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\c3p0-0.9.2.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-c3p0-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\mchange-commons-java-0.2.3.4.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\dom4j-1.6.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\ehcache-core-2.4.3.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-ehcache-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-core-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\jboss-logging-3.1.3.GA.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-commons-annotations-4.0.4.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-entitymanager-4.3.1.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\javassist-3.18.1-GA.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\jboss-transaction-api_1.2_spec-1.0.0.Final.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\slf4j-api-1.6.1.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\slf4j-simple-1.6.1.jar
libs.hibernate4-support.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\docs\\javax.persistence-2.1.0-doc.zip
libs.hibernate4-support.maven-pom=
libs.hibernate4-support.src=
libs.javac-api.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\nb-javac-api.jar
libs.javac-api.javadoc=
libs.javac-api.maven-pom=
libs.javac-api.src=
libs.jaxb.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\jaxb-impl.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\jaxb-xjc.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\jaxb1-impl.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\activation.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\api\\jaxb-api.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\api\\jsr173_1.0_api.jar
libs.jaxb.javadoc=C\:\\Program Files\\NetBeans 8.2\\ide\\docs\\jaxb-api-doc.zip
libs.jaxb.maven-pom=
libs.jaxb.src=
libs.jaxws21.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\jaxb-impl.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\jaxb-xjc.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\FastInfoset.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\gmbal-api-only.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\ha-api.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\javax.mail_1.4.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\jaxws-rt.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\jaxws-tools.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\management-api.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\mimepull.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\policy.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\saaj-impl.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\stax-ex.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\stax2-api.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\streambuffer.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\woodstox-core-asl.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\api\\jaxws-api.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\api\\jsr181-api.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\api\\javax.annotation.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\jaxws22\\api\\saaj-api.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\activation.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\api\\jaxb-api.jar;C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\ext\\jaxb\\api\\jsr173_1.0_api.jar
libs.jaxws21.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\docs\\jaxws-api-doc.zip
libs.jaxws21.maven-pom=
libs.jaxws21.src=
libs.jpa2-persistence.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\hibernate4\\hibernate-jpa-2.1-api-1.0.0.Final.jar
libs.jpa2-persistence.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\docs\\javax.persistence-2.1.0-doc.zip
libs.jpa2-persistence.maven-pom=
libs.jpa2-persistence.src=
libs.jpa20-persistence.classpath=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\eclipselink\\javax.persistence_2.1.0.v201304241213.jar
libs.jpa20-persistence.javadoc=C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\docs\\javax.persistence-2.1.0-doc.zip
libs.jpa20-persistence.maven-pom=
libs.jpa20-persistence.src=
libs.junit_4.classpath=C\:\\Program Files\\NetBeans 8.2\\platform\\modules\\ext\\junit-4.12.jar
libs.junit_4.javadoc=C\:\\Program Files\\NetBeans 8.2\\platform\\docs\\junit-4.12-javadoc.jar
libs.junit_4.maven-pom=
libs.junit_4.src=C\:\\Program Files\\NetBeans 8.2\\platform\\docs\\junit-4.12-sources.jar
libs.spring-framework300.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\org-apache-commons-logging.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\cglib-2.2.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-aop-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-aspects-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-beans-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-build-src-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-context-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-context-support-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-core-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-expression-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-framework-bom-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-instrument-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-instrument-tomcat-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-jdbc-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-jms-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-orm-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-oxm-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-struts-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-test-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-tx-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-web-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-webmvc-3.2.7.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-3.0\\spring-webmvc-portlet-3.2.7.RELEASE.jar
libs.spring-framework300.javadoc=
libs.spring-framework300.maven-pom=
libs.spring-framework300.src=
libs.spring-framework400.classpath=C\:\\Program Files\\NetBeans 8.2\\ide\\modules\\org-apache-commons-logging.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\cglib-2.2.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-aop-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-aspects-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-beans-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-build-src-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-context-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-context-support-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-core-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-expression-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-framework-bom-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-instrument-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-instrument-tomcat-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-jdbc-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-jms-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-messaging-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-orm-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-oxm-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-test-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-tx-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-web-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-webmvc-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-webmvc-portlet-4.0.1.RELEASE.jar;C\:\\Program Files\\NetBeans 8.2\\java\\modules\\ext\\spring-4\\spring-websocket-4.0.1.RELEASE.jar
libs.spring-framework400.javadoc=
libs.spring-framework400.maven-pom=
libs.spring-framework400.src=
libs.swing-layout.classpath=C\:\\Program Files\\NetBeans 8.2\\platform\\modules\\ext\\swing-layout-1.0.4.jar
libs.swing-layout.javadoc=C\:\\Program Files\\NetBeans 8.2\\platform\\docs\\swing-layout-1.0.4-doc.zip
libs.swing-layout.maven-pom=
libs.swing-layout.src=C\:\\Program Files\\NetBeans 8.2\\platform\\docs\\swing-layout-1.0.4-src.zip
libs.testng.classpath=C\:\\Program Files\\NetBeans 8.2\\platform\\modules\\ext\\testng-6.8.1-dist.jar
libs.testng.javadoc=C\:\\Program Files\\NetBeans 8.2\\platform\\docs\\testng-6.8.1-javadoc.zip
libs.testng.maven-pom=
libs.testng.src=
line.separator=\r\n
main.class=com.physpics.tools.TestTools
main.class.available=true
manifest.custom.codebase=
manifest.custom.permissions=
manifest.encoding=UTF-8
meta.inf.dir=src/META-INF
mkdist.disabled=false
nb.native.filechooser=false
nb.show.statistics.ui=usageStatisticsEnabled
netbeans.accept_license_class=org.netbeans.license.AcceptLicense
netbeans.autoupdate.country=US
netbeans.autoupdate.language=en
netbeans.autoupdate.variant=
netbeans.autoupdate.version=1.23
netbeans.buildnumber=201609300101
netbeans.default_userdir_root=C\:\\Users\\Fred\\AppData\\Roaming\\NetBeans
netbeans.dirs=C\:\\Program Files\\NetBeans 8.2\\nb;C\:\\Program Files\\NetBeans 8.2\\ergonomics;C\:\\Program Files\\NetBeans 8.2\\ide;C\:\\Program Files\\NetBeans 8.2\\extide;C\:\\Program Files\\NetBeans 8.2\\java;C\:\\Program Files\\NetBeans 8.2\\apisupport;C\:\\Program Files\\NetBeans 8.2\\webcommon;C\:\\Program Files\\NetBeans 8.2\\websvccommon;C\:\\Program Files\\NetBeans 8.2\\enterprise;C\:\\Program Files\\NetBeans 8.2\\mobility;C\:\\Program Files\\NetBeans 8.2\\profiler;C\:\\Program Files\\NetBeans 8.2\\python;C\:\\Program Files\\NetBeans 8.2\\php;C\:\\Program Files\\NetBeans 8.2\\identity;C\:\\Program Files\\NetBeans 8.2\\harness;C\:\\Program Files\\NetBeans 8.2\\cnd;C\:\\Program Files\\NetBeans 8.2\\cndext;C\:\\Program Files\\NetBeans 8.2\\dlight;C\:\\Program Files\\NetBeans 8.2\\groovy;C\:\\Program Files\\NetBeans 8.2\\extra;C\:\\Program Files\\NetBeans 8.2\\javacard;C\:\\Program Files\\NetBeans 8.2\\javafx
netbeans.dynamic.classpath=C\:\\Program Files\\NetBeans 8.2\\platform\\core\\asm-all-5.0.1.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\core-base.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\core.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\org-netbeans-libs-asm.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\org-openide-filesystems-compat8.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\org-openide-filesystems.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core-base_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core-base_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core-base_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core-base_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\core_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-netbeans-libs-asm_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-netbeans-libs-asm_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-netbeans-libs-asm_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-netbeans-libs-asm_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems-compat8_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems-compat8_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems-compat8_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems-compat8_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems_ja.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems_ru.jar;C\:\\Program Files\\NetBeans 8.2\\platform\\core\\locale\\org-openide-filesystems_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\org-netbeans-upgrader.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\core_nb.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\core_nb_ja.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\core_nb_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\core_nb_ru.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\core_nb_zh_CN.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\org-netbeans-upgrader_ja.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\org-netbeans-upgrader_pt_BR.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\org-netbeans-upgrader_ru.jar;C\:\\Program Files\\NetBeans 8.2\\nb\\core\\locale\\org-netbeans-upgrader_zh_CN.jar
netbeans.hash.code=unique\=NB_EXTIDE_JAVA0389bf63f-4d34-4b97-95b1-eae502278748_2cd471f8-8680-4f81-99df-28ab2a3b6e64
netbeans.home=C\:\\Program Files\\NetBeans 8.2\\platform
netbeans.importclass=org.netbeans.upgrade.AutoUpgrade
netbeans.productversion=NetBeans IDE 8.2 (Build 201609300101)
netbeans.user=C\:\\Users\\Fred\\AppData\\Roaming\\NetBeans\\8.2
no.dependencies=true
no.deps=true
org.openide.awt.ActionReference.completion=org.netbeans.modules.apisupport.project.layers.PathCompletions
org.openide.major.version=IDE/1
org.openide.specification.version=6.2
org.openide.version=deprecated
org.xml.sax.driver=com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
os.arch=amd64
os.name=Windows 8.1
os.version=6.3
package.dir=build/classes/com/physpics/tools
package.name=com.physpics.tools
package.slashed.name=com/physpics/tools
package.slashed.subtree.name=tools
package.subtree.name=tools
page.bartitle=Java
path.separator=;
platform.active=default_platform
platform.java=C\:\\Program Files\\Java\\jdk1.8.0_102\\jre/bin/java
project.author=ZweiBieren
project.author.email=ZweiBieren@yahoo.com
project.build.date=Dec 12, 2016
project.build.number=34
project.build.suffix=zb
project.build.time=2016-12-12 15\:35
project.build.year=2016
project.ftp.dir=/physpics.com/Java/tools
project.name=Tools
project.release.string=1.0 (34zb Dec 12, 2016)
project.short.description=Tools for building applications
project.site.path=physpics.com/Java/com/physpics/tools
project.url=http\://physpics.com/Java/com/physpics/tools
project.version.number=1.0
propcon.directory=/cygdrive/U/Fred/Java/tools
propcon.output=reading /cygdrive/U/Fred/Java/tools/Pictools.properties\r\nreading /cygdrive/U/Fred/Java/Pictools.properties\r\npropcon defined 14 properties in /cygdrive/U/Fred/Java/tools/Pictools.ant
run.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar\:build/classes
run.jvmargs=
run.jvmargs.ide=
run.test.classpath=U\:\\Fred\\Java\\tools\\dist\\Tools.jar;U\:\\Fred\\Java\\tools\\debug\\dist\\Debug.jar;U\:\\Fred\\Java\\tools\\io\\dist\\IO.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\LSLMA.jar;U\:\\Fred\\Java\\external\\LSLMA\\dist\\lib\\jama.jar;U\:\\Fred\\Java\\tools\\ui\\dist\\UI.jar;U\:\\Fred\\Java\\tools\\ui\\blox\\dist\\Blox.jar\:C\:\\Program Files\\NetBeans 8.2\\java\\ant\\extra\\org-netbeans-modules-javawebstart-anttasks.jar\:build/classes\:${libs.junit.classpath}\:build/test/classes
runtime.encoding=UTF-8
site.domain=physpics.com
site.ftp.host=physpics.com
site.ftp.prefix=/physpics.com
site.package.prefix=com.physpics
site.properties.prefix=Pictools
site.slashed.prefix=com/physpics
site.tree.dir=/Java
site.vendor=physpics.com
source.encoding=UTF-8
src.dir=src
sun.arch.data.model=64
sun.awt.datatransfer.timeout=1000
sun.awt.enableExtraMouseButtons=true
sun.awt.keepWorkingSetOnMinimize=true
sun.boot.class.path=C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\resources.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\rt.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\sunrsasign.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\jsse.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\jce.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\charsets.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\lib\\jfr.jar;C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\classes
sun.boot.library.path=C\:\\Program Files\\Java\\jdk1.8.0_102\\jre\\bin
sun.cpu.endian=little
sun.cpu.isalist=amd64
sun.desktop=windows
sun.io.unicode.encoding=UnicodeLittle
sun.java2d.dpiaware=true
sun.java2d.noddraw=true
sun.jnu.encoding=Cp1252
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
sun.os.patch.level=
test.binaryexcludes=
test.binaryincludes=<nothing>
test.binarytestincludes=
test.src.dir=test
testng.debug.mode=
testng.mode=testng
tree.icon=U\:/Fred/Java/tools/Tools.ico
tree.logo=<a href\="http\://java.com"><img src\="/Java/javalogo.png" alt\="Java coffee cup logo" width\="82" height\="49" /></a>
user.country=US
user.dir=C\:\\Program Files\\NetBeans 8.2
user.home=C\:\\Users\\Fred
user.language=en
user.name=Fred
user.properties.file=C\:\\Users\\Fred\\AppData\\Roaming\\NetBeans\\8.2\\build.properties
user.script=
user.timezone=America/New_York
user.variant=
version-output=java version "1.8
webpage.dir=forweb
work.dir=U\:\\Fred\\Java\\tools
Current Default Excludes:
  **/%*%
  **/.git/**
  **/SCCS
  **/.bzr
  **/_notes/**
  **/.hg/**
  **/.bzrignore
  **/.git
  **/SCCS/**
  **/.hg
  **/.#*
  **/vssver.scc
  **/.bzr/**
  **/._*
  **/#*#
  **/*~
  **/CVS
  **/.hgtags
  **/.svn/**
  **/Thumbs.db
  **/.hgignore
  **/*BAK
  **/.svn
  **/.gitignore
  **/.gitmodules
  **/.hgsubstate
  **/.gitattributes
  **/CVS/**
  **/.hgsub
  **/.DS_Store
  **/.cvsignore
  **/_notes


When Java libraries or applications are to be released on the web, they can be managed as a tree of NetBeans projects. Each project has its own build.xml that includes makesite.xml. In addition to the usual targets of compile, jar, and others, makesite offers the upload target which transfers the project distribution and webpage files to a website.

Throughout, the directory dot (./) is the project directory. It must be a subirectory of the directory named by environment value JAVAROOT. The Pictools.properties file in that directory must define sshdest and picsdir, as defined in /pictools/doc/properties.php.  It must also define java.subtree giving the path from picsdir to the Java subtree. Accordingly, the Java package at ${env.JAVAROOT}/x/y/z/pkg willbe installed on the server at ${sshdest}/${picsdir}/${java.sub.tree}/x/y/z/pkg.

File sets to be defined in build.xml

The following are unions and get included in unions, A typical instance is

<union id="files.filtered.for.package">
    <fileset dir="distsrc" includes="README.txt"/>
</union>
files.filtered.for.dot 
These files are filtered and inserted in ./.  Automatically included files are ./distsrc/manifest.mf, ./distsrc/README.txt, and ./distsrc/Pictools.properties.
files.filtered.for.package
Files to be copied with filtering to the ${package.dir} 
files.for.package
Files to be copied without filtering to ${package.dir} Java code can fetch these files with Class.getResource("filename"). Included automatically: ./Pictools.properties.
files.filtered.for.webpage
Files to be filtered and copied to ./forweb/ and from thence to the website.
files.for.webpage
Files to be copied without filtering to the website. Included automatically:  ./forweb/**, dist/**, *.php, *.html, images/, ./manifest.mf, ./Pictools.properties. The first two have their directories removed before uploading.
files.for.srctar
Files to add to srctar.tgz. Included automatically:  ./build.xml, ./distsrc/**, ./*.php, ./*.html, ./images/**, and ./src/
 

TODO
change devtree.dir to dev.tree.dir
define it to be ..
change location of site.properties
<properties site.oproperties>
add examples of the ### items in the build.xml
do all of this doucment as html

sitetree.dir to site.tree.dir

check the <resource> tags



in .xml, but not .php
mantemp
extract.from

wrong in .xml
distsrc
ftp.userid
sitetree.dir

wrong in php
About.text
distsrc
ftp.userid
project.name
project.site.dir
sitetree.dir

The Ant scripts for NetBeans provides scripts for compiling, executing, and jarring a project. The buildtasks script augments those NetBeans scripts with tasks for deploying the project to a website. Deployment is simple, but buildtasks makes assumptions about the project directory and the destination trees. Many properties are defined to tailor the tasks to individual tasks. Property names are written here in bold.

The buildtasks tools reside in Physpic's tools directory. Here are found the Ant script buildtasks.xml and a template directory called tools/sample.distsrc/

Project Directory

NetBeans projects have several default directories. Here they are together with the defined ant property that names them. Unfortunately, properties defined in buildtasks.xml or the files it includes are not available in build.xml itself. I have usually resorted to using the actual names instead of the property.

  • src/   the tree of java source files  (src.dir)
  • test/ - directory of modules used in testing (test.src.dir)
  • build/ - the destination directory tree for .class files resulting from compilation (build.dir)
  • nbproject/ - directory private to NetBeans
  • dist/ - the jar file and ancilliary distribution files (dist.dir)
  • lib/ - Java libraries to be included in the final jar file  (libraries.dir)

Buildtasks adds two directories:

  • distsrc/ - all non-Java source files; they are inserted into src/ or webpage/ as directed by properties defined in build.xml (distsrc)
  • webpage/ - destination directory for staging distribution files for transfer to a server (webpage.dir)

In a standard NetBeans project directory are two files

  • build.xml - Netbeans expects a build.xml, and this one can have the usual contents. In addition, buildtasks.xml expects certain property definitions and an <include> to invoke buildtasks.xml.
  • manifest.mf - NetBeans provides a simple standard manifest for the jar file. Buildtasks overwrites it with a more elaborate manifest derived from a template in distsrc/.

build.xml

Here is a sample of a build.xml for use with buildtasks.xml. Details on the properties to be defined are below. Values to be replaced for another project are in italics:

<?xml version="1.0" encoding="UTF-8"?>
<project name="FontViewer" default="upload" basedir=".">
            <description> Displays system fonts and 
            helps choose among them </description>
    <property name="files.for.package" value="fontcategories.txt images/**" />
    <import file=../tools/makesite.xml"/>
</project>

Notes:

  • There is no import of build-impl.xml (it is imported by buildtasks.xml).

Distsrc Files

A number of files generally appear in distsrc/. Prototypes for them are in the Physpics tools/sample.distsrc directory. Copy them to your distsrc file and make the adjustments suggested within them. Replace the name PROJECT_NAME with the name of your NetBeans project. When a file is copied with filtering, any instance of ${...} is replaced with the correspodning ant property value.

images/
This directory need only include those images to appear on the webpage or for deployment. For the Windows installer there should be a ${project.name}.ico file containing three icons at sizes 16, 32, and 64. (I create .ico files with ImageMagick 6.7.1-10, on Windows. {The cygwin version, 6.4.0.6-2, fails to create proper .ico files.} If the icons have white where they should be transparent, the Imagemagick command is
convert icon16x16.png icon32x32.png icon64x64.png -transparent white icon.ico
 
PROJECT_NAME.properties
Define project.version.number and various project properties to use in filtering.
Also installed as local.properties in the web directory
README.txt
Describe how to install the application and where to get help
manifest.mf
Standard netbeans manifest modified to add inforamtion with filtering.
PROJECTNAME.jnlp -
.jnlp file for running the application as an applet. Omit for command line apps
runApplet.html
(Optional) Defines a webpage that will run the object as an applet. Omit for command line applications.
project.build.number
Contents must be an integer. If the file is absent, it will be created with value 1.
 

 

Assets

An asset is a file that needs to be distributed outside the jar file; the need first arose for image files that HTMLDocPlus makes available for client documents.

Each asset is associated with a particular package, denoted in the build file as ${package.name}. (This name is the concatenation of ${site.package.prefix}, a dot, and ${package.subtree.name}.For instance, if the first is "com.physpics" and the second is "tools.io", their concatenation produces the package name: com.physpics.tools.io)

In the project's source code any assets, including .html and .png files, reside in

        distsrc/assets/${package.name}
A .html file refers to a .png relatively as in
        ../package-name.../image-name.png   

To utilize assets from other projects, a build.xml file defines the property include.assets.from.projects with the value being a space separated list of the directories for those projects.

For testing with netbeans, all asset directories are copied to

        build/classes/assets/${package.name}/assetname.ext
Code reads an asset file with IOUtils readAsset(Package, String) For example 
        String helpHtml = IOUtils.readAsset(
            com.physpics.tools.ui.HelpfilFileChoser.class.getPackage(), 
            "HelpfulFileChooserHelp.html");

The asset directory is automatically copied where useful. For testing it is copied to build/classes. For distribution it is made part of the installer jar and installed into the same directory as the jar file. The assets directories listed in include.assets.from.projects are copied to the project's distsrc. Like every thing in distsrc/assets, these files are later copied to the installer jar.

If property assets.to.webpage  has value true, the assets directory is copied to the web  directory from whence it is copied to the website.

Property Files

Properties are declared in four files. In rough order of precedence they are: ./build.xml, ../site.properties, ${user.home}/.ant/user.properties, and distsrc/${project.name}.properties.

Key properties are defined directly in the build.xml file. Typically this file includes site.properties; properties defined before the include have precedence, for the rest, site.properties has precedence. When all NetBeans projects are in a single directory, is it customary that site.properties resides therein. Hence the location ../ for site.properties. Other project structures will dictate a change in the build.xml line that includes site.properties.

At the start of initiation, buildtasks.xml includes ${user.home}/.ant/user.properties. Typically this file just declares the ftp login poperties. Next is the include for nbproject/build-impl.xml, the NetBeans ant script for the build. The last include is for distsrc/${project.name}.properties. Then several derived properties are defined for generation of files with filtering.

Server Trees

The last directory in the full path of a project should be ${project.name}, as derived from the name of the project in the build.xml file.

A developer may have several NetBeans projects, with webpages for each. These webpages are assumed to be in a subtree on the server. For URLs, the root of this subtree is

http://${site.domain}/${site.tree.dir}

The site... properties are usually defined in site.properties.

buildtasks.xml uses cygwin ftp to deploy files to the server. The ftp connection is made to

${ftp.userid}@${site.ftp.host}

with the password given by ${ftp.password} and the root directory ${site.ftp.prefix}

Properties ${site.tree.dir} and ${site.ftp.prefix} are supposed to name the same directory on the server. The names beginning the "site" are usually defined in ../site.properties. The names beginning with "ftp" are sequestered in ${user.home}/.ant/user.properties. The latter directory should probably not be distributed :-)  Names site.tree.dir, site.ftp.prefix, if non-empty, must begin with a slash and not end with a slash.

 

Properties usually defined in build.xml

project.name
A one word, camel-case title for the project. Usually the value is ${ant.project.name}, which come from the name="" field of the <project>.
package.top.dir
The directory at the top of the jar file. That is, the directory corresponding to the "default package."
package.dir
Where the .java files reside. Relative to project's directory. Value is something like src/com/physpics/projectname. buildtasks copies files from distsrc to this directory; some with filtering and others without. See properties the next two porperties.
files.filtered.for.package
Files to be copied with filtering to the ${package.dir}
files.filtered.for.top.package
Files to be copied with filtering to the ${package.top.dir}. ${package.name}.properties is automatically included in this list; it need not be listed.
files.for.package
Files to be copied (with or without filtering) from distsrc to ${package.dir}. Java code can fetch these files with class.getResource("filename") .
files.filtered.for.webpage
Files to be filtered and copied from distsrc to forweb In addition, if the following exist they are filtered and copied:" runApplet.html ${project.name}.jnlp README.txt
files.for.webpage
Files to be copied without filtering from distsrc to forweb. A help file should be among these. If it exists, the images/ subdirectory will also be copied.
files.to.add.to.srctar
The script makes a compressed tar file of the project sources and places it in forweb. The files saved are named in ${files.minimum.for.srctar} as src/ distsrc/ nbprobject/ build.xml *.php *.html images/ resources/ Additional files to be saved can be named in ${files.to.add.to.srctar}. The file names must be relative to the basedir path for the project. (Or you can define your own value for ${files.minimum.for.srctar})
extract.from
Source file for checking tags.  Errors are printed to stderr; tags are printed to stdout and set into property tut.alltags.
distsrc.dir
Define this in order to fetch files from some directory other than ./distsrc.
webpage.dir
Define this property to create the webpage files in a directory other than ./webpage
applet.class
The full classname of the applet, if any. Example: com.physpics.fontviewer.FVApplet
applet.width
Width in pixels.
applet.height
Height in pixels.


Properties defined in distsrc/${project.name}.properties

These appear mostly in filtered documents. Sometimes a property definition here needs the value of another property defined here. This is possible only because buildtask.xml reads this file twice. The first time it prepends "firsttime." to all property names. So a definition of linked.author.name (name wrapped in an <a> tag) might be

linked.author.name = \ <a href="mailto:${firsttime.author.email}">${firsttime.project.author}</a>

Of course the property firsttime.linked.author.name will be itself defined, but with an incorrect value.

project.version.number
Digits with interspersed periods. By convention, ${project.name}.properties is the one file that defines the project.version.number.
project.build.suffix
An arbitrary suffix for project.build.number; I use developer initials
project.author
Who dun it.
project.author.email
Where users may contact the author.
project.short.description
One line description Defined in this file. Not used in the tools. A definition is given in sample.distsrc, but it may be replaced.
 
applet.class
The full classname of the applet, if any. Example: com.physpics.fontviewer.FVApplet
applet.width
Width in pixels.
applet.height
Height in pixels.

Properties defined in site.properties

Properties defined in buildtasks.xml

buildtasks.xml defines a few properties that are used in the prototype tools/sample.distsrc file. These properties may be overridden in build.xml.

project.build.number
This value is updated in distsrc/project.build.number and set as the current value.
project.build.date
MMMM d, yyyy
project.build.time
yyyy-MM-d HH:mm
project.build.year
yyyy
project.release.string
== VXXX (BBsuf) where V is 'V' and XXX is ${project.version.number}, BB is ${project.build.number}, suf is ${project.build.suffix}
 
files.minimum.for.srctar
== src/ distsrc/ nbprobject/ build.xml; these files are stuffed in a tarball and copied to project.ftp.dir by targets srctar and webpage. See build.xml property files.to.add.to.srctar.


Installation Files (for Windows)

Files are installed from a constructed .jar file. It includes the Java .jar file as one component along with other components like a help file. For full flexibility in source location and destination directory structure, the installed components are given in two <resources> elements; one the minimum set and the other additions by the client.

Additions by the client are listed in a <resources> element with refid "resources.for.installer'. To add file data.txt from /tmp/ and distsrc/Helpfile.html (with filtering) the ant code would be

<resources id="resources.for.installer">
  <fileset file="/tmp/data.txt" >
    <concat file="distsrc/Helpfile.html">
      <filterchain>
         <filterreader classname="org.apache.tools.ant.filters.ReplaceTokens">
            <param type="propertiesfile"
                value="${package.dir}/${project.name}.properties"/>
         </filterreader>
      </filterchain>
    </concat>

  </fileset>
</resources>

The expected installation files are given with id "minimum.resources.for.installer". To alter this set, an override defnition may be listed in build.xml. The given set is

<resources id="minimum.resources.for.installer">

    <fileset dir="${dist.dir}/"/>

    <fileset dir="distsrc" includes="/images/${project.name}.ico"/>

    <fileset dir="forweb" includes="README.txt"/>

</resources>


Targets

The main sequence of targets is

  • init - increments project.build.number ,sets properties, and does includes
  • compile - compile the java code
  • jar - create the executable PROJECT_NAME.jar file
  • installer - create installPROJECT_FILE.jar; one-click installer
  • srctar - bundle up sources sufficient to re-instantiate the project
  • webpage - create directory suitable for upload
  • upload - copy the webpage files to the server

Other targets

  • clean - gets rid of all constructed files
  • debug - debug
  • javadoc - create documentation
  • checktags - checks a source file for valid feature tagging syntax; also generates a list of tags

This script uses the NetBeans override targets -pre-compile, -post-jar, and -post-clean, so do not use them in client scripts. However, you can override one of following override targets defined in buldtask.xml:

  • -pre-build-install - intial target performed for installer; it could be used to insert items in ./dist before building the self-install .jar file
  • -post-build-install - final target performed for installer; could clean up after -pre-build-installer
  • -pre-webpage - initial target performed by webpage
  • -post-webpage - final target performed by webpage

 

Installer

The install target builds the file installPROJECT_NAME.jar. If among the images directory, there is one called PROJET_NAME.ico, then the installation will create (on Windows) a shortcut to the PROJECT_NAME.jar file using the icon as its image. See thje README.txt file (in tools/sample.distsrc) for ways users can exploit the shortcut.

 

 
Copyright © 2018 ZweiBieren, All rights reserved. Aug 10, 2018 16:27 GMT Page maintained by ZweiBieren