前々回、前回に Maven2 で Groovy コードを実行する方法を見ましたが、このコード中で、自分で定義する必要なく使用できる「定義済み変数」がいくつかあります。 今回はそれらと、それらのプロパティを見ていく、というか参考のために列挙しておきます(一覧)。
ちなみに、使い方はこんな感じ:
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.sample</groupId> <artifactId>sample</artifactId> <version>1.0-SNAPSHOT</version> <build> <plugins> <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugin</artifactId> <version>1.2</version> <configuration> <source><![CDATA[ log.info(project.groupId) log.info(project.artifactId) log.info(project.version) ]]></source> </configuration> </plugin> </plugins> </build> </project>
実行コマンド
mvn groovy:execute
実行結果
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - org.sample:sample:jar:1.0-SNAPSHOT
[INFO] task-segment: [groovy:execute]
[INFO] ------------------------------------------------------------------------
[INFO] [groovy:execute {execution: default-cli}]
[INFO] org.sample
[INFO] sample
[INFO] 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6 seconds
[INFO] Finished at: Tue Apr 13 12:47:56 JST 2010
[INFO] Final Memory: 12M/29M
[INFO] ------------------------------------------------------------------------
定義済み変数
定義済み変数(と定義済みメソッド)には、以下のものがあります。
| 変数名 | 説明 | 型 |
|---|---|---|
| project, pom | ビルドを実行している Maven2 プロジェクト | org.codehaus.gmaven.plugin.execute. GroovyMavenProjectAdapter |
| session | 実行しているビルド・セッション | org.apache.maven.execution.MavenSession |
| settings | 実行しているビルドの設定 | org.apache.maven.settings.Settings |
| log | SLF4J ログ・インスタンス | org.sonatype.gossip.Gossip$LoggerImpl |
| ant | Ant ビルダー | groovy.util.AntBuilder |
| fail() | MojoExecutionException を投げる |
- fail() の使用法、振る舞いは説明の必要はないかと。
- log はイマイチ見たことのない型な気がしますが、使い方は org.apache.maven.plugin.logging.Log と同じような感じです(「log.info('Hello world !')」とか)。 詳しくはこちら。
以降の表に出てくる「型」は次の API ドキュメントを参考にして下さい。 ただし、バージョンは少々ずれているかも知れません。
★project, pom★
| プロパティ | 型 |
|---|---|
| activeProfiles | List |
| artifact artifactId artifactMap artifacts |
org.apache.maven.artifact.Artifact String Map Set |
| attachedArtifacts | List |
| basedir | File |
| build buildExtensions buildPlugins |
org.apache.maven.model.Build List List |
| ciManagement | org.apache.maven.model.CiManagement |
| class | Class |
| collectedProjects | List |
| compileArtifacts compileClasspathElements compileDependencies compileSourceRoots |
List List List List |
| contributors | List |
| defaultGoal | String |
| delegate | org.apache.maven.project.MavenProject |
| dependencies dependencyArtifacts dependencyManagement |
List Set org.apache.maven.model.DependencyManagement |
| description | String |
| developers | List |
| distributionManagement distributionManagementArtifactRepository |
org.apache.maven.model.DistributionManagement org.apache.maven.artifact.repository.ArtifactRepository |
| dynamicBuild dynamicCompileSourceRoots dynamicScriptSourceRoots dynamicTestCompileSourceRoots |
org.apache.maven.model.Build List List List |
| executionProject extensionArtifactMap extensionArtifacts |
org.apache.maven.project.MavenProject Map Set |
| file | File |
| filters | List |
| goalConfiguration | org.codehaus.plexus.util.xml.Xpp3Dom |
| groupId | String |
| id | String |
| inceptionYear | String |
| issueManagement | org.apache.maven.model.IssueManagement |
| licenses | List |
| mailingLists | List |
| managedVersionMap | Map |
| model modelVersion |
org.apache.maven.model.Model String |
| modulePathAdjustment modules |
String List |
| name | String |
| organization | org.apache.maven.model.Organization |
| originalInterpolatedBuild originalInterpolatedCompileSourceRoots originalInterpolatedScriptSourceRoots originalInterpolatedTestCompileSourceRoots originalModel |
org.apache.maven.model.Build List List List org.apache.maven.model.Model |
| packaging | String |
| parent parentArtifact |
org.apache.maven.project.MavenProject org.apache.maven.artifact.Artifact |
| pluginArtifactMap pluginArtifactRepositories pluginArtifacts pluginManagement pluginRepositories |
Map List Set org.apache.maven.model.PluginManagement List |
| prerequisites | org.apache.maven.model.Prerequisites |
| preservedBasedir preservedProperties |
File Properties |
| projectBuilderConfiguration projectReferenceId projectReferences |
org.apache.maven.project.ProjectBuilderConfiguration String Map |
| properties | Properties |
| remoteArtifactRepositories | List |
| reportArtifactMap reportArtifacts reportConfiguration reportPlugins reporting |
Map Set org.codehaus.plexus.util.xml.Xpp3Dom List org.apache.maven.model.Reporting |
| repositories | List |
| resources | List |
| runtimeArtifacts runtimeClasspathElements runtimeDependencies |
List List List |
| scm | org.apache.maven.model.Scm |
| scriptSourceRoots | List |
| systemArtifacts systemClasspathElements systemDependencies |
List List List |
| testArtifacts testClasspathElements testCompileSourceRoots testDependencies testResources |
List List List List List |
| url | String |
| version | String |
project.build
project.build で取得できるオブジェクトは org.apache.maven.model.Build のインスタンスです。 ここに定義されているプロパティは以下の通り。
| プロパティ | 型 |
|---|---|
| class | Class |
| defaultGoal | String |
| directory | String |
| extensions | List |
| filters | List |
| finalName | String |
| outputDirectory | String |
| pluginManagement plugins pluginsAsMap |
org.apache.maven.model.PluginManagement List Map |
| resources | List |
| scriptSourceDirectory | String |
| sourceDirectory | String |
| testOutputDirectory testResources testSourceDirectory |
String List String |
project.artifact
project.artifact で返されるオブジェクトは org.apache.maven.artifact.Artifact (正確には org.apache.maven.artifact.DefaultArtifact)のインスタンスです。 ここに定義されているプロパティは以下の通り。
| プロパティ | 型 |
|---|---|
| artifactHandler artifactId |
org.apache.maven.artifact.handler.ArtifactHandler String |
| availableVersions | List |
| baseVersion | String |
| class | Class |
| classifier | String |
| dependencyConflictId dependencyFilter dependencyTrail |
String org.apache.maven.artifact.resolver.filter.ArtifactFilter List |
| downloadUrl | String |
| file | File |
| groupId | String |
| id | String |
| metadatab metadataList |
org.apache.maven.artifact.metadata.ArtifactMetadata Collection |
| repository | org.apache.maven.artifact.repository.ArtifactRepository |
| scope | String |
| selectedVersion | org.apache.maven.artifact.versioning.ArtifactVersion |
| type | String |
| version versionRange |
String org.apache.maven.artifact.versioning.VersionRange |
★session★
| プロパティ | 型 |
|---|---|
| class | Class |
| container | org.codehaus.plexus.PlexusContainer |
| currentProject | org.apache.maven.project.MavenProject |
| eventDispatcher | org.apache.maven.monitor.event.EventDispatcher |
| executionProperties executionRootDirectory |
Properties String |
| goals | List |
| localRepository | org.apache.maven.artifact.repository.ArtifactRepository |
| pluginContext | Map |
| projectBuilderConfiguration | org.apache.maven.project.ProjectBuilderConfiguration |
| settings | org.apache.maven.settings.Settings |
| sortedProjects | List |
| startTime | Date |
| userProperties | Properties |
★settings★
settings はプロクシなどの設定を行う「settings.xml」をオブジェクトにしたものです。 ファイルは以下の位置に配置するようです:
詳しくはこちら
| プロパティ | 型 |
|---|---|
| activeProfiles activeProxy |
List org.apache.maven.settings.Proxy |
| class | Class |
| interactiveMode | Boolean |
| localRepository | String |
| mirrorOf mirrors |
org.apache.maven.settings.Mirror List |
| modelEncoding | String |
| pluginGroups | List |
| profiles profilesAsMap |
List Map |
| proxies | List |
| runtimeInfo | org.apache.maven.settings.RuntimeInfo |
| server servers |
org.apache.maven.settings.Server List |
| sourceLevel | String |
★ant★
使い方は次回以降にでも。
| プロパティ | 型 |
|---|---|
| antProject | org.apache.tools.ant.Project |
| antXmlContext | org.apache.tools.ant.helper.AntXMLContext |
| class | Class |
| metaClass | groovy.lang.MetaClass |
| project | org.apache.tools.ant.Project |
| property | Object |
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る
- 作者: Dierk Konig,Andrew Glover,Paul King,Guillaume Laforge,Jon Skeet,杉浦孝,櫻井正樹,須江信洋,関谷和愛,佐野徹郎,寺沢尚史
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2008/09/27
- メディア: 単行本(ソフトカバー)
- 購入: 5人 クリック: 146回
- この商品を含むブログ (121件) を見る