- maven-4.0.0.xsd をどっかにダウンロード。
$ scalaxb maven-4.0.0.xsd -p maven
-
main.scala を加える。
object Main extends App { args.headOption map { arg => println(scalaxb.fromXML[maven.Model](xml.XML.load(arg))) } }
-
コンパイル
$ scalac *.scala
-
実行
$ scala Main ../../scalaxb/mvn-scalaxb/pom.xml Model(Map(modelVersion -> DataRecord({http://maven.apache.org/POM/4.0.0}modelVersion,4.0.0), groupId -> DataRecord({http://maven.apache.org/POM/4.0.0}groupId,org.scalaxb), artifactId -> DataRecord({http://maven.apache.org/POM/4.0.0}artifactId,scalaxb-maven-plugin), packaging -> DataRecord({http://maven.apache.org/POM/4.0.0}packaging,maven-plugin), name -> DataRecord({http://maven.apache.org/POM/4.0.0}name,scalaxb Maven Plugin), version -> DataRecord({http://maven.apache.org/POM/4.0.0}version,0.6.1-SNAPSHOT), scm -> DataRecord({http://maven.apache.org/POM/4.0.0}scm,Scm(Some(scm:git:git://github.com/eed3si9n/scalaxb.git),Some(scm:git:[email protected]:eed3si9n/scalaxb.git),None,Some(https://github.com/mart/scalaxb))), build -> DataRecord({http://maven.apache.org/POM/4.0.0}build,Build(None,None,None,None,None,None,None,None,None,None,None,None,Some(PluginManagement(Some(Plugins3(List(Plugin(Some(org.apache.maven.plugins),Some(maven-release-plugin),Some(2.2-SNAPSHOT),None,None,None,None,None,Some(Configuration3(List())))))))),Some(Plugins4(List(Plugin(Some(org.apache.maven.plugins),Some(maven-plugin-plugin),Some(2.5.1),None,Some(Executions(List(PluginExecution(Some(generated-helpmojo),None,Some(Goals2(List(helpmojo))),None,None)))),None,None,None,Some(Configuration3(List())))))))), profiles -> DataRecord({http://maven.apache.org/POM/4.0.0}profiles,Profiles(List(Profile(Some(it),None,Some(BuildBase(None,None,None,None,None,None,None,Some(Plugins2(List(Plugin(Some(org.apache.maven.plugins),Some(maven-invoker-plugin),Some(1.5),None,Some(Executions(List(PluginExecution(Some(integration-test),None,Some(Goals2(List(install, run))),None,None)))),None,None,None,Some(Configuration3(List())))))))),None,None,None,None,None,None,None,None,None)))), dependencies -> DataRecord({http://maven.apache.org/POM/4.0.0}dependencies,Dependencies(List(Dependency(Some(org.scalaxb),Some(scalaxb_${scala.version}),Some(0.6.0),None,None,None,None,None,None), Dependency(Some(org.apache.maven),Some(maven-plugin-api),Some(${maven.version}),None,None,None,None,None,None), Dependency(Some(org.apache.maven),Some(maven-project),Some(${maven.version}),None,None,None,None,Some(Exclusions(List(Exclusion(Some(maven-artifact),Some(org.apache.maven)), Exclusion(Some(maven-artifact-manager),Some(org.apache.maven)), Exclusion(Some(maven-model),Some(org.apache.maven)), Exclusion(Some(maven-plugin-registry),Some(org.apache.maven)), Exclusion(Some(maven-profile),Some(org.apache.maven)), Exclusion(Some(maven-settings),Some(org.apache.maven)), Exclusion(Some(plexus-container-default),Some(org.codehaus.plexus))))),None), Dependency(Some(junit),Some(junit),Some(${junit.version}),None,None,Some(test),None,None,None)))), distributionManagement -> DataRecord({http://maven.apache.org/POM/4.0.0}distributionManagement,DistributionManagement(Some(DeploymentRepository(None,Some(scala-tools),None,Some(http://nexus.scala-tools.org/content/repositories/releases/),None)),Some(DeploymentRepository(None,Some(scala-tools),None,Some(http://nexus.scala-tools.org/content/repositories/snapshots/),None)),None,None,None,None)), properties -> DataRecord({http://maven.apache.org/POM/4.0.0}properties,Properties(List()))))