## New build
Target platform is java 1.7
## Build
Toecount is now part of the package which can be build with
```
mvn clean package
```
## Eclipse
Eclipse XPath Evaluation plugin from the Eclipse Marketplace provides a very handy view to apply XPath on a XML file, useful e.g. when you try XPath expressions or you only have the Xpath, not the line number, to a problem.
To be able to validate against schema files, enter Settings|XML|XML Catalog and add the location of e.g.
zugferd2p0_en16931.xsd, which will resolve to the key (namespace)
urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100, just as ZUGFeRD1p0.xsd will provide the key for
urn:ferd:CrossIndustryDocument:invoice:1p0
## Test
`package -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8001 -Xnoagent -Djava.compiler=NONE"`
can be used as debug configuration goal in Eclipse. In that case you can set breakpoints in tests.
## Validate
[ZUV](https://github.com/ZUGFeRD/ZUV/) can be used to validate generated files.
## Deployment
A section in Maven's settings.xml is needed, in Linux (and MacOS) that's at ~/.m2/settings.xml
As „servers“, enter the following
```xml
github
GITHUB-TOKEN
```
The whole settings.xml then looks e.g. like this
```xml
github
TOKEN
```
The password is generated on github.
See the following screenshot:
Sign in in GitHub and click on the profile picture -> Settings. Now just generate a new token and set the checkboxes from the screenshot.

The Token-ID is the password.
## Release
You will need a git client on the console, if that's available can e.g. be checked with "git --version" .
Change to the root of the repo.
Change to the project directory and run
* `mvn clean install` . If that works you can
* clean the release with `mvn release:clean` and prepare the release with
* `mvn release:prepare -DignoreSnapshots=true` and enter the version numbers.
* After that is through you can create a new release via `mvn release:perform -Dmaven.java.skip=True`.This will also update the maven repo.

Afterwards you can access the release page and update the documentation, e.g. upload the jar, the jar javadoc and ZugferdDev. You can also enter a changelog and a better title.
## Release process
* Update documentation
* write/translate announcement
* release via/for mvn
* Publish a github release
* update mustangproject.org RE
* version number and release date
* sample file?
* Deployment jar
* put announcement on usegroup
* email the mailing list
* freshcode.club