Skip to content

Commit

Permalink
Highlights:
Browse files Browse the repository at this point in the history
NEWTAG-239 Implement new Formula System
NEWTAG-531 Implement INFO/INFOVARS for new output

Administrative:
Swap the code base to rely on PCGen-base and PCGen-Formula
  Eliminates LOTS of files
Gradle/Ivy: Correct PCGen Library locations

Import the new Equation Solver System (including UI "debugger"):
NEWTAG-533 GLOBALMODIFIER Campaign File Token
NEWTAG-534 VARIABLE Campaign File Token
NEWTAG-535 DEFAULTVARIABLEVALUE Data Control Token
NEWTAG-536 NAMESPACEDEF Data Control File Token
NEWTAG-537 LOCAL: Variable File LST Token
NEWTAG-538 EXPLANATION Variable File LST Token
NEWTAG-539 GLOBAL: Variable File LST Token
NEWTAG-540 Global MODIFY token
NEWTAG-541 Global MODIFYOTHER token

Naming:
Make naming of "namespace" and "format" consistent across the code base
  Eliminates many extraneous and confusing uses of the word "type"
  Note: Requires some data changes to function properly (NEWTAG-536
instead of VARTYPEDEF)
Change (non Formula) Modifier to Processor
GridPoint->Ordered Pair

Fragility/Consistency of behavior:
Convert CDOMObjectWrapperInfo to DataSetID/Facet
Convert ObjectWrapperLibrary to DataSetID/Facet
Remove old serialization package (use FormatManager)

Supported Formats:
NEWTAG-543 Support NUMBER Data Format
NEWTAG-544 Support STRING Data Format
NEWTAG-545 Support BOOLEAN Data Format
NEWTAG-546 Support ORDEREDPAIR Data Format
NEWTAG-547 Support ALIGNMENT Data Format (FACT only, not var)
NEWTAG-548 Support STAT Data Format (FACT only, not var)
NEWTAG-549 Support PCCLASS Data Format (FACT only, not var)

Modifier Instructions:
NEWTAG-550 Support SET Modifier for ORDEREDPAIR Data Format
NEWTAG-551 Support SET Modifier for NUMBER Data Format
NEWTAG-552 Support ADD Modifier for NUMBER Data Format
NEWTAG-553 Support DIVIDE Modifier for NUMBER Data Format
NEWTAG-554 Support MAX Modifier for NUMBER Data Format
NEWTAG-555 Support MIN Modifier for NUMBER Data Format
NEWTAG-556 Support MULTIPLY Modifier for NUMBER Data Format
NEWTAG-557 Support SET Modifier for STRING Data Format
NEWTAG-558 Add SET for Boolean Data Format

Build Model for output of (global) variables
NEWTAG-559 Support pc.var variable in Freemarker

Convert FACE (Race and Template tokens) to use the new solver system
Prohibit Campaigns using MODIFY and MODIFYOTHER (that's what the global
modifier file is for)

Add FUNCTION and VALUE
  • Loading branch information
thpr committed Feb 15, 2016
1 parent 86aa0bb commit 312d0ef
Show file tree
Hide file tree
Showing 317 changed files with 13,291 additions and 2,292 deletions.
4 changes: 2 additions & 2 deletions .classpath
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="code/src/itest"/>
<classpathentry excluding="**/.svn/*" kind="src" path="code/src/java"/>
<classpathentry kind="src" path="code/src/utest"/>
<classpathentry kind="src" path="code/src/itest"/>
<classpathentry excluding="**/.svn/*" kind="src" path="code/src/test"/>
<classpathentry kind="src" path="code/src/testcommon"/>
<classpathentry kind="src" path="code/src/utest"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry exported="true" kind="con" path="org.springsource.ide.eclipse.gradle.classpathcontainer"/>
<classpathentry kind="output" path="code/build.eclipse"/>
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Expand Up @@ -151,8 +151,8 @@ dependencies {
compile group: 'org.apache.avalon.framework', name: 'avalon-framework-api', version:'4.3.1'
compile group: 'org.apache.avalon.framework', name: 'avalon-framework-impl', version:'4.3.1'
compile group: 'com.incors.plaf', name: 'kunststoff', version:'2.0.2'
compile group: 'net.sourceforge.pcgen', name: 'PCGen-base', version:'1.0.39'
compile group: 'net.sourceforge.pcgen', name: 'PCGen-Formula', version:'1.0.9'
compile group: 'net.sourceforge.pcgen', name: 'PCGen-base', version:'1.0.44'
compile group: 'net.sourceforge.pcgen', name: 'PCGen-Formula', version:'1.0.40'

//testCompile group: 'org.easymock', name: 'easymock', version:'2.5.2'
//testCompile group: 'org.easymock', name: 'easymockclassextension', version:'2.5.2'
Expand Down
214 changes: 211 additions & 3 deletions code/pluginbuild.xml
Expand Up @@ -23,7 +23,7 @@ jar-all-plugins - Generate the plugin jar files
<property name="jepplugins.dir" value="${plugins.dir}/jepplugins" />
<property name="converterplugins.dir" value="${plugins.dir}/converterplugins" />

<target name="jar-all-plugins" depends="makeplugindirs,jar-gmgen-plugins,jar-export-plugins,jar-bonus-plugins,jar-pre-plugins,jar-lst-plugins, jar-systemlst-plugins, jar-converter-plugins, jar-jep-plugins, jar-deprecated-plugin, jar-primitive-plugins, jar-qualifier-plugins" description="Build (Link) plugin jar files">
<target name="jar-all-plugins" depends="makeplugindirs,jar-gmgen-plugins,jar-export-plugins,jar-bonus-plugins,jar-pre-plugins,jar-lst-plugins,jar-modifier-plugins,jar-variable-plugins,jar-systemlst-plugins, jar-converter-plugins, jar-jep-plugins, jar-deprecated-plugin, jar-primitive-plugins, jar-qualifier-plugins" description="Build (Link) plugin jar files">
</target>

<target name="jar-gmgen-plugins" depends="makeplugindirs" description="Build (Link) GMGen plugin jar files">
Expand Down Expand Up @@ -2250,6 +2250,27 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-GROUP.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/GroupLst.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-INFO.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/InfoLst.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-INFOVARS.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/InfoVarsLst.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-KEY.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand All @@ -2264,6 +2285,20 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-MODIFY.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/ModifyLst.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-MODIFYOTHER.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/ModifyOtherLst.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/LstToken-MOVE.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -2728,6 +2763,13 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/CampaignLstToken-DATACONTROL.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/campaign/DataControlToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/CampaignLstToken-DEITY.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -2784,6 +2826,13 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/CampaignLstToken-GLOBALMODIFIER.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/campaign/GlobalModifierToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/CampaignLstToken-HELP.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -2980,6 +3029,13 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/CampaignLstToken-VARIABLE.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/campaign/VariableToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/CampaignLstToken-WEAPONPROF.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -3572,15 +3628,22 @@ jar-all-plugins - Generate the plugin jar files
</jar>
</target>

<target name="jar-lst-datacontrol-plugins" depends="makeplugindirs" description="Build (Link) Diety Lst Token plugin jar files">
<!-- Data Control FactDef tokens-->
<target name="jar-lst-datacontrol-plugins" depends="makeplugindirs" description="Build (Link) Data Definition Lst Token plugin jar files">
<!-- Data Control tokens-->
<jar jarfile="${lstplugins.dir}/DataControlLstToken-DATAFORMAT.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/datacontrol/DataFormatToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/DataControlLstToken-DEFAULTVARIABLEVALUE.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/datacontrol/DefaultVariableValueToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/DataControlLstToken-DISPLAYNAME.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -3609,6 +3672,13 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/DataControlLstToken-FUNCTION.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/datacontrol/FunctionToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/DataControlLstToken-REQUIRED.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand All @@ -3623,6 +3693,13 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/DataControlLstToken-VALUE.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/datacontrol/ValueToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/DataControlLstToken-VISIBLE.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -3824,6 +3901,13 @@ jar-all-plugins - Generate the plugin jar files
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/EquipmentLstToken-PART.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/equipment/PartToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/EquipmentLstToken-PROFICIENCY.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
Expand Down Expand Up @@ -4690,6 +4774,31 @@ jar-all-plugins - Generate the plugin jar files
</jar>
</target>

<target name="jar-variable-plugins" depends="makeplugindirs" description="Build (Link) Template Lst Token plugin jar files">
<!-- Variable tokens-->
<jar jarfile="${lstplugins.dir}/VariableLstToken-EXPLANATION.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/variable/ExplanationToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/VariableLstToken-GLOBAL.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/variable/GlobalToken.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/VariableLstToken-LOCAL.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/lsttokens/variable/LocalToken.class" />
</patternset>
</fileset>
</jar>
</target>

<target name="jar-lst-weaponprof-plugins" depends="makeplugindirs" description="Build (Link) Weapon Prof Lst Token plugin jar files">
<!-- WeaponProf tokens-->
<jar jarfile="${lstplugins.dir}/WeaponProfLstToken-HANDS.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
Expand Down Expand Up @@ -6562,6 +6671,105 @@ jar-all-plugins - Generate the plugin jar files
</jar>
</target>

<target name="jar-modifier-plugins" depends="jar-modifier-bool-plugins, jar-modifier-number-plugins, jar-modifier-orderedpair-plugins, jar-modifier-set-plugins, jar-modifier-string-plugins" description="Build (Link) Lst Modifier Token plugin jar files">
</target>

<target name="jar-modifier-bool-plugins" depends="makeplugindirs" description="Build (Link) Number Modifier Token plugin jar files">
<!-- Boolean Modifier tokens-->
<jar jarfile="${lstplugins.dir}/BoolModifier-SET.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/bool/SetModifierFactory.class" />
</patternset>
</fileset>
</jar>
</target>

<target name="jar-modifier-number-plugins" depends="makeplugindirs" description="Build (Link) Number Modifier Token plugin jar files">
<!-- Number Modifier tokens-->
<jar jarfile="${lstplugins.dir}/NumberModifier-ADD.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/number/AddModifierFactory.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/NumberModifier-MAX.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/number/MaxModifierFactory.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/NumberModifier-MIN.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/number/MinModifierFactory.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/NumberModifier-MULTIPLY.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/number/MultiplyModifierFactory.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/NumberModifier-SET.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/number/SetModifierFactory.class" />
</patternset>
</fileset>
</jar>
</target>

<target name="jar-modifier-orderedpair-plugins" depends="makeplugindirs" description="Build (Link) Ordered Pair Modifier Token plugin jar files">
<!-- Ordered Pair Modifier tokens-->
<jar jarfile="${lstplugins.dir}/PointModifier-SET.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/orderedpair/SetModifierFactory.class" />
</patternset>
</fileset>
</jar>
</target>

<target name="jar-modifier-set-plugins" depends="makeplugindirs" description="Build (Link) Set Modifier Token plugin jar files">
<!-- Set Modifier tokens-->
<jar jarfile="${lstplugins.dir}/SetModifier-ADD.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/set/AddModifierFactory.class" />
<include name="plugin/modifier/set/AddModifierFactory$AddArrayModifier.class" />
<include name="plugin/modifier/set/AddModifierFactory$AddDirectArrayModifier.class" />
<include name="plugin/modifier/set/AddModifierFactory$AddIndirectArrayModifier.class" />
</patternset>
</fileset>
</jar>
<jar jarfile="${lstplugins.dir}/SetModifier-SET.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/set/SetModifierFactory.class" />
<include name="plugin/modifier/set/SetModifierFactory$SetArrayModifier.class" />
<include name="plugin/modifier/set/SetModifierFactory$SetDirectArrayModifier.class" />
<include name="plugin/modifier/set/SetModifierFactory$SetIndirectArrayModifier.class" />
</patternset>
</fileset>
</jar>
</target>

<target name="jar-modifier-string-plugins" depends="makeplugindirs" description="Build (Link) Number Modifier Token plugin jar files">
<!-- String Modifier tokens-->
<jar jarfile="${lstplugins.dir}/StringModifier-SET.jar" manifest="${src.java.dir}/plugin/lsttokens/manifest.mf">
<fileset dir="${build.classes.dir}">
<patternset>
<include name="plugin/modifier/string/SetModifierFactory.class" />
</patternset>
</fileset>
</jar>
</target>

<target name="jar-primitive-plugins" depends="jar-primitive-deity-plugins, jar-primitive-equipment-plugins, jar-primitive-language-plugins, jar-primitive-pcclass-plugins, jar-primitive-domain-plugins, jar-primitive-pobject-plugins, jar-primitive-race-plugins, jar-primitive-skill-plugins, jar-primitive-spell-plugins, jar-primitive-weaponprof-plugins" description="Build (Link) Lst Primitive Token plugin jar files">
</target>

Expand Down
8 changes: 6 additions & 2 deletions code/src/itest/pcgen/output/FreeMarkerTest.java
Expand Up @@ -20,6 +20,8 @@
import pcgen.base.format.StringManager;
import pcgen.base.util.BasicIndirect;
import pcgen.cdom.enumeration.FactKey;
import pcgen.cdom.facet.CDOMWrapperInfoFacet;
import pcgen.cdom.facet.FacetLibrary;
import pcgen.cdom.facet.model.CheckFacet;
import pcgen.core.PCCheck;
import pcgen.output.actor.FactKeyActor;
Expand All @@ -43,7 +45,9 @@ protected void setUp() throws Exception
classSetUp();
classSetUpRun = true;
}
CDOMObjectWrapper.getInstance().clear();
CDOMWrapperInfoFacet wiFacet =
FacetLibrary.getFacet(CDOMWrapperInfoFacet.class);
wiFacet.initialize(dsid);
}

private void classSetUp()
Expand Down Expand Up @@ -90,7 +94,7 @@ private void createChecks()
cf.add(id, pcc);

FactKeyActor<?> fka = new FactKeyActor<>(sn);
CDOMObjectWrapper.getInstance().load(pcc.getClass(), "shortname", fka);
CDOMObjectWrapper.load(dsid, pcc.getClass(), "shortname", fka);
}

}

0 comments on commit 312d0ef

Please sign in to comment.