This build contains the new facets design - see issues #936 and #958.
Doc Lib
The old docLib documentation has been moved into its respective pods. For example "docLib::Fwt" is now accessible as fwt::pod-doc. Every pod has a "pod-doc" page which you can define by creating a file called "pod.fandoc" as a peer to your build script. This should be a much better way for developers to distribute documentation with their pods.
Pod Builds
You no longer use a "pod.fan" file, instead things are back to the good old days when you just needed a "build.fan" file. See Build Pod for what things should look like now.
Pod Meta
Pods no longer support facets. Instead they use a simple props format of name/value pairs. See docLang for details.
Type Database
Indexed facets and the type database have been replaced with indexed props. This is a lower level of abstraction, but much more simple and flexible. Indexed facets such as custom URI handlers and compiler plugins now use indexed props.
Enums
All your enums now need to use enum as a positional keyword before class:
enum Foo {} => enum class Foo {}
The enum keyword was released, and can now be used as an identifier (although can't be used by Java code obviously).
Facets
Facets are now normal classes - see Facets chapter. Unless you were declaring your own facets, simple mapping is:
During this process I've basically rewritten the core BuildScript and BuildPod classes to make them simpler. The original code was written in 2006 and had a lot of oddities. There is no setup method anymore, you just set your fields in your constructor. I also moved dumpEnv to an option instead of a target. Also remember that @target is now @Target (and I had to rename the old Target class to TargetMethod).
Pod Zips
The internal structure of pod zips has been reorganized. All fcode is placed under a fcode/ directory. The binary pod.def file is replaced by meta.props which should make it more accessible to tooling.
Change Log
Build 1.0.51 (6 Feb 10)
Roll fcode version from 1.0.45 => 1.0.51
Change enum to positional keyword "enum class"
Rename build::Target => BuildTarget
Refactor build script design for facets and pod meta-data
Refactor pod format meta.props and fcode sub-directory
Replace Type Database with Env pod indexing
Move docLib chapter into their respectiive pods as pod-doc
brian Sat 6 Feb 2010
New build is posted and the online docs updated.
This build contains the new facets design - see issues #936 and #958.
Doc Lib
The old docLib documentation has been moved into its respective pods. For example "docLib::Fwt" is now accessible as fwt::pod-doc. Every pod has a "pod-doc" page which you can define by creating a file called "pod.fandoc" as a peer to your build script. This should be a much better way for developers to distribute documentation with their pods.
Pod Builds
You no longer use a "pod.fan" file, instead things are back to the good old days when you just needed a "build.fan" file. See Build Pod for what things should look like now.
Pod Meta
Pods no longer support facets. Instead they use a simple props format of name/value pairs. See docLang for details.
Type Database
Indexed facets and the type database have been replaced with indexed props. This is a lower level of abstraction, but much more simple and flexible. Indexed facets such as custom URI handlers and compiler plugins now use indexed props.
Enums
All your enums now need to use
enum
as a positional keyword beforeclass
:The
enum
keyword was released, and can now be used as an identifier (although can't be used by Java code obviously).Facets
Facets are now normal classes - see Facets chapter. Unless you were declaring your own facets, simple mapping is:
Build
During this process I've basically rewritten the core BuildScript and BuildPod classes to make them simpler. The original code was written in 2006 and had a lot of oddities. There is no
setup
method anymore, you just set your fields in your constructor. I also moveddumpEnv
to an option instead of a target. Also remember that@target
is now@Target
(and I had to rename the oldTarget
class toTargetMethod
).Pod Zips
The internal structure of pod zips has been reorganized. All fcode is placed under a
fcode/
directory. The binarypod.def
file is replaced bymeta.props
which should make it more accessible to tooling.Change Log
Build 1.0.51 (6 Feb 10)
KevinKelley Mon 8 Feb 2010
Note that the Build overview fandoc http://fantom.org/doc/docTools/Build.html#buildPod still has an example showing the
setup
method.Anyway, good work, lots of new stuff to try out!
brian Mon 8 Feb 2010
Got it - thanks. If anybody else sees problems with docs matching new features just let me know (either post or just email me directly).