{"id":35000517,"url":"https://github.com/mojohaus/jaxb2-maven-plugin","last_synced_at":"2025-12-27T03:37:33.024Z","repository":{"id":32126401,"uuid":"35698983","full_name":"mojohaus/jaxb2-maven-plugin","owner":"mojohaus","description":"JAXB2 Maven Plugin","archived":false,"fork":false,"pushed_at":"2025-11-11T09:26:38.000Z","size":8812,"stargazers_count":115,"open_issues_count":85,"forks_count":84,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-11-11T11:22:25.484Z","etag":null,"topics":["java","maven","maven-plugin","mojohaus"],"latest_commit_sha":null,"homepage":"https://www.mojohaus.org/jaxb2-maven-plugin/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mojohaus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-05-15T22:02:53.000Z","updated_at":"2025-11-11T09:26:03.000Z","dependencies_parsed_at":"2023-12-24T12:26:27.213Z","dependency_job_id":"b016de15-14ea-49e0-bfd8-3bb3a1dc160f","html_url":"https://github.com/mojohaus/jaxb2-maven-plugin","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/mojohaus/jaxb2-maven-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojohaus%2Fjaxb2-maven-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojohaus%2Fjaxb2-maven-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojohaus%2Fjaxb2-maven-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojohaus%2Fjaxb2-maven-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mojohaus","download_url":"https://codeload.github.com/mojohaus/jaxb2-maven-plugin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mojohaus%2Fjaxb2-maven-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28071499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","maven","maven-plugin","mojohaus"],"created_at":"2025-12-27T03:37:32.344Z","updated_at":"2025-12-27T03:37:33.019Z","avatar_url":"https://github.com/mojohaus.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# About the Jaxb2-Maven-Plugin\n\n[![Maven Central](https://img.shields.io/maven-central/v/org.codehaus.mojo/jaxb2-maven-plugin.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.codehaus.mojo/jaxb2-maven-plugin)\n[![Build Status](https://github.com/mojohaus/jaxb2-maven-plugin/actions/workflows/maven.yml/badge.svg)](https://github.com/mojohaus/jaxb2-maven-plugin/actions/workflows/maven.yml)\n\nThis Maven plugin uses the Java API for XML Binding (JAXB), version 2+, to perform one of 2 main tasks:\n\n1. Generate Java classes from XML Schemas (and optionally binding files). \n   This is done by delegating work to the XJC tool, bundled with the Java SDK.\n   Documentation for the XJC tool is found at two places - the [Unix Documentation](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/xjc.html) \n   and the [Windows Documentation](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/xjc.html). \n2. Create XML Schemas from annotated Java classes.\n   This is done by delegating work to the Schemagen tool, bundled with the Java SDK.\n   Documentation for the Schemagen tool is also found at two places - the [Unix Documentation](https://docs.oracle.com/javase/8/docs/technotes/tools/unix/schemagen.html)\n   and the [Windows Documentation](https://docs.oracle.com/javase/8/docs/technotes/tools/windows/schemagen.html) \n\n## [Plugin Documentation Hub](https://www.mojohaus.org/jaxb2-maven-plugin/)\n\nOn Github, Maven site documentation is shown for the \n[5 latest releases of the JAXB2 plugin](https://www.mojohaus.org/jaxb2-maven-plugin/).\nThe root URL for each static site is `http://www.mojohaus.org/jaxb2-maven-plugin/Documentation/v{theVersionNumber}/index.html`\nwhere `{theVersionNumber}` should be replaced with the actual version, such as `2.3.1`. However, \n[the documentation hub page](https://www.mojohaus.org/jaxb2-maven-plugin/) attempts to simplify access by presenting \nversion number and link to the documentation for each listed release.    \n \n# Release process for Jaxb2-Maven-Plugin \n\nDue to its documentation structure, the Jaxb2-Maven-Plugin has a slightly different release process - mainly \ndue to the difference in publishing its Plugin Site Documentation. This is currently done in two steps.\n\n## Publishing the Plugin artifacts to Maven Central\n\nThis part of the release process is more-or-less identical to the standard Mojohaus release process - except \nthat we do not automatically publish the plugin documentation. \n\n#### a. Preparing the binary artifact release\n\nClone the repo and issue the standard maven release preparation, substituting the appropriate values for the \nrelease version and tag. Semantic versioning applies, so unless you know that the next upcoming version should\ncontain only documentation changes, let the development version have its minor version number bumped by 1 \n(i.e. use `3.2.0` instead of `3.1.0` in the example below). Of course, since the snapshot/development stream may \ncontain unexpected changes, the development version is merely an indication. \n\n    mvn -DpushChanges=false -DreleaseVersion=3.1.0 -DdevelopmentVersion=3.2.0-SNAPSHOT -Dtag=jaxb2-maven-plugin-3.1.0 release:prepare\n    \nIf the release preparation build completed without errors, your local release repository should now contain \ntwo new commits with the commit message starting with `[maven-release-plugin]` on the form shown below. \nWe have still not pushed anything to any source code or artifact repository.  \n\n    * b229a34 - Lennart Jörelid (20 seconds ago) (HEAD -\u003e master)\n    |   [maven-release-plugin] prepare for next development iteration\n    * 31f498f - Lennart Jörelid (20 seconds ago) (tag: jaxb2-maven-plugin-2.4.0)\n    |   [maven-release-plugin] prepare release jaxb2-maven-plugin-2.4.0\n    * b4499f9 - Lennart Jörelid (9 hours ago) (origin/master, origin/HEAD)\n    |   Using only JDK 8 since that is the defaults in travis.\n    \n#### b. Perform normal deployment of the artifact\n\nCheckout the release tag on the master branch, rebuild and deploy to the OSS repository server.\n\n    git checkout jaxb2-maven-plugin-3.1.0\n    \n    mvn -Pmojo-release clean deploy\n    \nThe normal Mojohaus process for the binary release (send mail to group etc.) follows.\nWhen the release is approved by the community, build and publish the release documentation as \ndescribed below.          \n\n## Publishing the Plugin Documentation to Github\n\n**Note** You must have `Graphviz` installed and within the path in order to be able to generate\nsome of the release documentation images. Graphviz can be downloaded from its site,\n[http://graphviz.org](http://graphviz.org) \n\n#### a. Checkout the local release and build the release Documentation      \n\nCheckout the newly prepared release and build its artifact and release documentation. \nNote that the system property `https.protocols` is required to generate the site, since\nGitHub's api refuses to use the default TLS version of java (i.e. TLSv1.0).\n\n    git checkout jaxb2-maven-plugin-3.1.0\n    \n    mvn -Dhttps.protocols=\"TLSv1,TLSv1.1,TLSv1.2\" clean package site\n    \n#### b. Copy the content of the `target/site` directory\n\nThe release site documentation is now found within the target/site directory \nof the build. Copy the content of this directory to a temporary place, such as `/tmp`:\n\n    cp -r target/site/* /tmp/\n    \n#### c. Move the plugin documentation to its gh-pages branch location\n\nCheck out the `gh-pages` branch, and copy the documentation to a directory\nnamed `Documentation/v2.4.0` (substitute the version number with the release version).\nSimply build on the structure shown in the image below:\n\n![Structure](src/site/resources/images/documentation_structure.png \"Documentation Structure\")\n\n#### d. Add the documentation to git, and push to publish\n\nAssuming that the repository id is `github`, add the static documentation pages to git, \ncommit the addition using a standard message, and push:\n\n    git add Documentation/v3.1.0\n    \n    git commit -m \"Added plugin documentation for version 3.1.0\"\n    \n    git push github \n\nFollowing the push, verify that the newly released documentation site is available on github.\nSimply originate from the [Plugin Documentation Hub Page](https://www.mojohaus.org/jaxb2-maven-plugin/#/repo), \nwhich should look somewhat like the image below.\n\n![Documentation Hub](src/site/resources/images/documentation_hub.png \"Documentation Hub\") \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmojohaus%2Fjaxb2-maven-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmojohaus%2Fjaxb2-maven-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmojohaus%2Fjaxb2-maven-plugin/lists"}