aiotrade
所属分类:Java编程
开发工具:Java
文件大小:5791KB
下载次数:15
上传日期:2008-03-01 21:56:48
上 传 者:
eric2222
说明: AIOTrade is a free, open source stock technical analysis platform built on pure java. Its pluggable architecture is also ideal for custom features extending, such as indicators and charts. It Requires JRE 1.5.0+.
文件列表:
aiotrade\aiotrade\config\Modules\org-aiotrade-math.xml (500, 2007-02-17)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-branding.xml (526, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-core-ui.xml (524, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-core.xml (518, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-modules-dataserver-basic.xml (558, 2007-02-17)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-modules-dataserver-ib.xml (552, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-modules-indicator-basic.xml (556, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-modules-portfolio.xml (544, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-modules-signal-basic.xml (550, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-platform-modules-template.xml (542, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-aiotrade-util.xml (500, 2006-11-16)
aiotrade\aiotrade\config\Modules\org-h2.xml (437, 2006-11-16)
aiotrade\aiotrade\config\Modules (0, 2007-02-17)
aiotrade\aiotrade\config (0, 2007-02-17)
aiotrade\aiotrade\core\locale\core_aiotrade.jar (111185, 2006-11-16)
aiotrade\aiotrade\core\locale (0, 2007-02-17)
aiotrade\aiotrade\core (0, 2007-02-17)
aiotrade\aiotrade\modules\ext\h2.jar (986512, 2006-11-16)
aiotrade\aiotrade\modules\ext (0, 2007-02-17)
aiotrade\aiotrade\modules\locale\org-netbeans-core-windows_aiotrade.jar (1877, 2006-11-16)
aiotrade\aiotrade\modules\locale\org-netbeans-core_aiotrade.jar (650, 2006-11-16)
aiotrade\aiotrade\modules\locale (0, 2007-02-17)
aiotrade\aiotrade\modules\org-aiotrade-math.jar (164055, 2007-02-17)
aiotrade\aiotrade\modules\org-aiotrade-platform-branding.jar (12640, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-core-ui.jar (593453, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-core.jar (778061, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-modules-dataserver-basic.jar (41553, 2007-02-17)
aiotrade\aiotrade\modules\org-aiotrade-platform-modules-dataserver-ib.jar (288071, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-modules-indicator-basic.jar (63331, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-modules-portfolio.jar (18432, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-modules-signal-basic.jar (5974, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-platform-modules-template.jar (2421, 2006-11-16)
aiotrade\aiotrade\modules\org-aiotrade-util.jar (32800, 2006-11-16)
aiotrade\aiotrade\modules\org-h2.jar (1557, 2006-11-16)
aiotrade\aiotrade\modules (0, 2007-02-17)
aiotrade\aiotrade\update\backup\netbeans\config\Modules\org-aiotrade-math.xml (500, 2007-02-17)
aiotrade\aiotrade\update\backup\netbeans\config\Modules\org-aiotrade-platform-modules-dataserver-basic.xml (558, 2007-02-17)
aiotrade\aiotrade\update\backup\netbeans\config\Modules (0, 2007-02-17)
aiotrade\aiotrade\update\backup\netbeans\config (0, 2007-02-17)
aiotrade\aiotrade\update\backup\netbeans\modules\org-aiotrade-math.jar (163817, 2007-02-17)
... ...
INTRODUCTION
------------
This build harness permits modules outside of the netbeans.org CVS tree to be
built against a NetBeans-based application: the NB platform, the NB IDE, or any
derivative product. The semantics of configuration files is synchronized with
the NBM project type module, so that you can open any module in the NB IDE and
work with it naturally: build and test it using Ant, use Java code completion,
and so on.
Questions and comments should go to: dev@openide.netbeans.org
BASIC FILE LAYOUT
-----------------
Within the netbeans.org CVS tree, modules are detected as projects of the "NBM"
(NetBeans module) type. The project directory may be top-level (e.g. "beans"),
second-level (e.g. "ant/project"), or third-level (e.g.
"objectbrowser/navigator/javanavigation"). The project.xml for the project must
specify
org.netbeans.modules.apisupport.project
to indicate that it is an NBM project, and the configuration must be
Note that this schema is a change from the /2 schema used in NetBeans 5.0.
(/2 is still supported for compatibility.)
NetBeans 4.0 and 4.1 use schema /1 which is no longer supported.
Outside of the netbeans.org CVS tree, modules can take two forms. They may be
marked with
in which case they can build into a platform binary but not refer to any other
source modules. Or they may be marked with
in which case they are contained within a module suite. The suite enumerates
modules it contains, and each module points back to the suite that contains it.
The meaning of the project.xml elements, as well as property names in
project.properties and other files, will be discussed later.
The project directory should contain "manifest.mf" (more on this later),
"build.xml" (more later), a directory "src" with the main package root of the
module's classes, optionally "test/unit/src" with unit tests, and perhaps some
other files.
If there is a subdirectory "javahelp" it is used to keep JavaHelp documentation,
which will be built automatically.
If there is a file "module-auto-deps.xml" it will automatically be used to
upgrade modules depending on you to new dependencies, as described in the
Modules API.
STANDALONE MODULES: CONFIGURATION FILES
---------------------------------------
Standalone modules may keep configuration in several properties files, in the
following order of loading:
${basedir}/nbproject/private/platform-private.properties
${basedir}/nbproject/platform.properties
${user.properties.file}
[definition of 'harness.dir' and 'netbeans.dest.dir' based on value of ${nbplatform.active}]
${basedir}/nbproject/private/private.properties
${basedir}/nbproject/project.properties
The properties 'harness.dir' and 'netbeans.dest.dir' must be defined by the
project. Usually this is accomplished by defining the property
'nbplatform.active' in platform.properties, and ${user.properties.file}
(normally build.properties in the user directory, usually defined in
platform-private.properties) can define properties like
'nbplatform.NAME.netbeans.dest.dir' (this would be used for 'netbeans.dest.dir'
in case ${nbplatform.active} had the value 'NAME').
MODULE SUITES: CONFIGURATION FILES
----------------------------------
Modules in a suite have a slightly more complicated list of properties files in
which they may keep configuration:
${basedir}/nbproject/private/suite-private.properties
${basedir}/nbproject/suite.properties
${suite.dir}/nbproject/private/platform-private.properties
${suite.dir}/nbproject/platform.properties
${user.properties.file}
[definition of 'harness.dir' and 'netbeans.dest.dir' based on value of ${nbplatform.active}]
${basedir}/nbproject/private/private.properties
${basedir}/nbproject/project.properties
'suite.dir' is normally defined in suite-private.properties (or suite.properties
in case it is a relative path). platform-private.properties and
platform.properties are then used to define the NB platform in the same way as
for standalone modules.
The suite itself (the project located in ${suite.dir}) can load properties from:
${basedir}/nbproject/private/platform-private.properties
${basedir}/nbproject/platform.properties
${user.properties.file}
[definition of 'harness.dir' and 'netbeans.dest.dir' based on value of ${nbplatform.active}]
${basedir}/nbproject/private/private.properties
${basedir}/nbproject/project.properties
It must define a property 'modules' enumerating modules it contains (in path
format, with each entry being a module project directory). This is usually done
in project.properties, perhaps also with private.properties to help with
absolute paths.
USING A RELATIVE PATH FOR THE PLATFORM WITH A MODULE SUITE
----------------------------------------------------------
Though not directly supported by the GUI, it is possible to set up a module
suite in such a way that the path to the NetBeans platform is given as relative,
and sharable in VCS. This may be helpfully especially for multi-developer teams
who frequently develop against new NetBeans builds (or build NetBeans from CVS
sources). You need to:
1. Make sure that each module's suite.properties specifies 'suite.dir' as
relative to its base directory, not as a bare relative path, e.g.
suite.dir=${basedir}/..
2. Edit the suite's platform.properties to give a fallback value for 'suite.dir'
(so the suite's own master build script can work), and define *both*
netbeans.dest.dir and harness.dir in terms of the suite directory, e.g.:
suite.dir=${basedir}
netbeans.dest.dir=${suite.dir}/../nb_sources/nbbuild/netbeans
harness.dir=${netbeans.dest.dir}/harness
The platform.properties should *not* define 'nbplatform.active' in this case.
Relative-path source and Javadoc associations for the platform is not yet
supported in this scenario (#70876). Each developer with a checkout of the suite
may need to configure a platform (with an arbitrary name) in the NetBeans
Platform Manager dialog with a binary location matching the value you gave for
${netbeans.dest.dir}, and with source and/or Javadoc associations of their
choice. However, as a convenience, special associations may be predefined in the
IDE in the special case that the destination directory is the subsubdirectory
"nbbuild/netbeans" of a netbeans.org CVS checkout (i.e. if you build NetBeans
from sources and then build your suite against that).
"CHAINING" SUITES (INTER-SUITE DEPENDENCIES HOWTO)
--------------------------------------------------
Suppose you have one platform P1, say the bare NetBeans Platform. Then you have
a module suite S1 with modules M1a...M1z which uses P1. Now it may happen that
you want another suite S2 with modules M2a...M2z to depend on S1 as well as P1.
This is possible, though not yet trivial to set up. Basically, you will make a
new platform P2 by building S1 + P1. Here's what you need to do in brief:
1. Set up S1 with P1 in the normal way.
2. Edit S1/build.xml to include a target to make a platform P2. For example:
where S1/nbproject/project.properties or S1/nbproject/private/private.properties
defines:
p2=...path.../myplatform
Note that the ZIP will currently contain S1's ${app.name} as its top-level dir,
so you can either move the unpacked files up one dir, or use the dir p2/s1name
as the actual platform location.
3. Now configure S2 to use P2 as its platform. If an absolute path, you can use
the Platform Manager, else for relative paths see the preceding section.
4. To associate sources with binaries for P2, you will need to use the Platform
Manager. You can select multiple source associations. In this case, use a
netbeans.org CVS checkout or source download for the P1 (NetBeans platform)
portion of P2, and use S1 (the suite directory) for the M1a...M1z modules in P2.
5. In an S2 module like M2a you should be able to depend on any module in P2,
including both NetBeans modules and modules from S1 like M1a. Code completion,
popup Javadoc, etc. should work if source associations have been correctly
configured in step #5.
6. In case S1 was an application module with configured branding, you might wish
to use S1's launchers in S2 rather than making a new app for S2. Or, in place of
a suite S2 you might have a standalone module M2. In either case, you can use
S1's launchers by making sure that the 'bin/' and 'etc/' directories get copied
into the P2 platform (i.e. do not specifically exclude them in step #2); and
configure nbproject/project.properties in S2 (or standalone module M2):
run.app.exe=bin\\s1.exe
run.app.sh=bin/s1
where 's1' was the branding name you chose for S1. This will permit Run, Reload,
etc. on S2 and its modules like M2a, or standalone module M2, to work correctly.
netbeans.org MODULES: CONFIGURATION FILES
-----------------------------------------
Modules inside the netbeans.org CVS tree need not define a platform; it is
always "nbbuild/netbeans" in the CVS tree. They also do not have an explicit
harness; they use various files located in "nbbuild". Unlike external modules
which by default always use the cluster "devel", netbeans.org modules usually
specify a cluster in "nbbuild/cluster.properties" ("extra" by default).
PLATFORM DEFINITIONS
--------------------
The file build.properties in the user directory is used to store all information
about NetBeans platforms. Each platform has an ID string; the default platform's
ID is 'default'. The available properties for each platform are:
1. nbplatform.ID.netbeans.dest.dir (mandatory) - absolute path to the
destination directory (i.e. NetBeans platform installation).
2. nbplatform.ID.harness.dir (mandatory) - path to the build harness. Normally
will be "${nbplatform.ID.netbeans.dest.dir}/harness".
3. nbplatform.ID.sources (optional) - see next section.
4. nbplatform.ID.javadoc (optional) - see next section.
SOURCE AND JAVADOC ASSOCIATIONS
-------------------------------
Modules inside the netbeans.org CVS tree need not do anything special to
associate sources with binaries (the module JAR files under "nbbuild/netbeans");
it is automatic. Javadoc may be associated with an API-providing module just by
building its Javadoc (into "nbbuild/build/javadoc"), or by downloading the
NetBeans API Documentation module, which will cause 'nbplatform.default.javadoc'
to be defined in build.properties in the user directory (to the location of a
ZIP of Javadoc).
For external modules, sources and Javadoc may be associated with the active
platform by defining in build.properties in the user directory these properties:
1. nbplatform.ID.sources - an Ant-style path (e.g. ':' separated) containing
source roots you wish to associate with the binary modules in
${nbplatform.ID.netbeans.dest.dir}. Entries may be a checkout of the
netbeans.org CVS tree, or source roots of other module suites which are included
in the platform in binary form. Defining a source association permits you to
step through sources while debugging, use Go To Class, get popup Javadoc in code
completion, etc.
2. nbplatform.ID.javadoc - a path containing roots of Javadoc for API-providing
modules in the platform. Useful in case you wish to get Javadoc in View |
Documentation Indices; or in the code completion popup (if you do not have
sources). Each root may be a directory or a ZIP file. Within a root, the API for
org.netbeans.modules.foo is expected to be inside the subdir named
"org-netbeans-modules-foo".
For examples of complete and functioning "external" module suites, see
apisupport/project/test/unit/data/example-external-projects in netbeans.org
sources.
FORMAT OF YOUR project.xml's MAIN CONFIGURATION SECTION
-------------------------------------------------------
You must specify the "code name base" of your module. This is the value of
OpenIDE-Module in manifest.mf, *except* without any major release version (e.g.
"/1"). In the future OpenIDE-Module might be generated from this, but not yet.
org.netbeans.modules.foo
For external modules, you must specify either or
; for netbeans.org modules, you must not. See above discussion of
file layout.
Specify your dependencies on other modules:
some.other.module
1
3.9
In a you can also use just
in place of , meaning to declare an implementation
dependency on another module. The actual version is taken directly from that
module's current JAR so you do not need to keep track of it. *Important*: if you
either *export* or *import* any implementation dependencies, you should probably
use spec.version.base (see below).
Specify your test dependencies on other modules [since 5.0u2, requires /3
schema]. The tags in project.xml are
described below:
unit
org.netbeans.modules.java.project
Source root for a test type:
{project.dir}/test/${test-type.name}/src
{project.dir}/test/unit/src - source root for unit test
For example you have three modules with code name bases A,B,C. A depends on B, B
depends on C. You want to add test dependencies to unit test type of module D:
Use case 1: Runtime dependency on module.
unit
A
Runtime classpath is D + A.
Compile classpath is D.
Use case 2: Runtime dependency on a module and its recursive runtime classpath.
unit
A
Runtime classpath is A + B + C + D.
Compile classpath is D.
Use case 3: Compile and runtime dependency on a module its recursive runtime classpath.
unit
A
Runtime classpath is A + B + C + D.
Compile classpath is A + B + C + D.
Use case 4: Compile and runtime dependency on a module, its recursive runtime classpath
and tests.
unit
A
Runtime classpath is A + B + C + D + A/test/unit.
Compile classpath is A + B + C + D + A/test/unit.
Declare any public API/SPI packages you export:
org.netbeans.api.foo
org.netbeans.spi.foo
If you do not export any API, say so:
If you export an API to selected modules only, you can use (NB 5.0+ only!):
org.netbeans.modules.brother
org.netbeans.modules.foo.spi
If you bundle a special library which you want to expose to modules depending on
you, you need not enumerate every package explicitly:
javax.foo
Exported implementation "APIs" do not need to be declared; anyone depending on
your module with an implementation dependency gets access to *all* your
packages. Be careful and avoid this situation whenever possible.
If your module bundles one or more third-party libraries, declare them:
ext/foolib.jar
external/foolib.jar
You still need to separately copy the JAR to the output directory (see below).
This just declares that Class-Path in your module's manifest should be defined,
and adds a compile-time classpath entry for your module and modules depending on
it.
If your bundled library is built from sources, just use
ext/foolib.jar
Sometimes a module will produce some extra JARs (in modules/ext/ for Class-Path,
in ant/nblib/, etc.), or will just need to have some extra sources for
miscellaneous purposes (e.g. custom Ant tasks). You can declare them, somewhat
similarly to how freeform projects permit compilation units to be declared; you
will still need to explicitly compile and JAR them in your build.xml. For
example, for in-IDE automatic Ant tasks you might use:
antsrc
${ant.home}/lib/ant.jar:${openide.dir}/core/openide.jar
build/antclasses
${cluster}/ant/nblib/${code.name.base.dashes}.jar
Or for a Class-Path extension built from sources, you might use:
libsrc
build/libclasses
${cluster}/modules/ext/foolib.jar
近期下载者:
相关文件:
收藏者: