Author: simonetripodi
Date: Mon Jul 15 09:29:36 2013
New Revision: 1503150
URL: http://svn.apache.org/r1503150
Log:
again, demonstrate the @Inject potentialities via the Version command, where
properties injection are bound even from jar properties
Added:
onami/sandbox/console/src/main/resources/META-INF/maven/
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties
(with props)
Removed:
onami/sandbox/console/src/main/resources/META-INF/services/java.lang.Runnable
Modified:
onami/sandbox/console/pom.xml
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Config.java
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Exit.java
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Version.java
onami/sandbox/console/src/main/java/org/apache/onami/console/modules/BasicConfigurationModule.java
Modified: onami/sandbox/console/pom.xml
URL:
http://svn.apache.org/viewvc/onami/sandbox/console/pom.xml?rev=1503150&r1=1503149&r2=1503150&view=diff
==============================================================================
--- onami/sandbox/console/pom.xml (original)
+++ onami/sandbox/console/pom.xml Mon Jul 15 09:29:36 2013
@@ -164,6 +164,14 @@
<version>3.0.10</version>
</dependency>
+ <!-- generates META-INF/services files -->
+ <dependency>
+ <groupId>org.kohsuke.metainf-services</groupId>
+ <artifactId>metainf-services</artifactId>
+ <version>1.5</version>
+ <scope>provided</scope>
+ </dependency>
+
<!--
| Test dependencies
-->
@@ -193,6 +201,18 @@
<resource>
<directory>${basedir}/src/main/resources</directory>
+ <includes>
+ <include>logback-config.xml</include>
+ <include>META-INF/services/**</include>
+ </includes>
+ </resource>
+
+ <resource>
+ <directory>${basedir}/src/main/resources</directory>
+ <filtering>true</filtering>
+ <includes>
+ <include>META-INF/maven/**</include>
+ </includes>
</resource>
</resources>
@@ -248,7 +268,7 @@
</programs>
<repositoryLayout>flat</repositoryLayout>
<repositoryName>lib</repositoryName>
- <extraJvmArguments>-server
-Dproject.artifactId=${project.artifactId} -Dproject.version=${project.version}
-Xms500m -Xmx500m -XX:PermSize=128m -XX:-UseGCOverheadLimit</extraJvmArguments>
+ <extraJvmArguments>-server -Xms500m -Xmx500m -XX:PermSize=128m
-XX:-UseGCOverheadLimit</extraJvmArguments>
<licenseHeaderFile>${basedir}/src/main/assembly/license-header.txt</licenseHeaderFile>
</configuration>
</plugin>
Modified:
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Config.java
URL:
http://svn.apache.org/viewvc/onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Config.java?rev=1503150&r1=1503149&r2=1503150&view=diff
==============================================================================
---
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Config.java
(original)
+++
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Config.java
Mon Jul 15 09:29:36 2013
@@ -24,6 +24,7 @@ import io.airlift.command.Command;
import java.util.Map.Entry;
import org.apache.onami.logging.core.InjectLogger;
+import org.kohsuke.MetaInfServices;
import org.slf4j.Logger;
import com.google.inject.Binding;
@@ -33,6 +34,7 @@ import com.google.inject.Key;
import com.google.inject.TypeLiteral;
import com.google.inject.name.Named;
+@MetaInfServices
@Command( name = "config", description = "Print configured variables." )
public final class Config
implements Runnable
Modified:
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Exit.java
URL:
http://svn.apache.org/viewvc/onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Exit.java?rev=1503150&r1=1503149&r2=1503150&view=diff
==============================================================================
---
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Exit.java
(original)
+++
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Exit.java
Mon Jul 15 09:29:36 2013
@@ -20,8 +20,12 @@ package org.apache.onami.console.command
*/
import static java.lang.System.exit;
+
+import org.kohsuke.MetaInfServices;
+
import io.airlift.command.Command;
+@MetaInfServices
@Command( name = "exit", description = "Terminates the program execution." )
public final class Exit
implements Runnable
Modified:
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Version.java
URL:
http://svn.apache.org/viewvc/onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Version.java?rev=1503150&r1=1503149&r2=1503150&view=diff
==============================================================================
---
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Version.java
(original)
+++
onami/sandbox/console/src/main/java/org/apache/onami/console/commands/Version.java
Mon Jul 15 09:29:36 2013
@@ -19,14 +19,18 @@ package org.apache.onami.console.command
* under the License.
*/
+import java.util.Locale;
+
import io.airlift.command.Command;
import org.apache.onami.logging.core.InjectLogger;
+import org.kohsuke.MetaInfServices;
import org.slf4j.Logger;
import com.google.inject.Inject;
import com.google.inject.name.Named;
+@MetaInfServices
@Command( name = "version", description = "Display version information." )
public final class Version
implements Runnable
@@ -36,10 +40,18 @@ public final class Version
private Logger logger;
@Inject
- @Named( "project.version" )
+ @Named( "project.name" )
+ private String projectName;
+
+ @Inject
+ @Named( "version" )
private String projectVersion;
@Inject
+ @Named( "implementation.build" )
+ private String implementationBuild;
+
+ @Inject
@Named( "java.version" )
private String javaVersion;
@@ -79,11 +91,21 @@ public final class Version
@Named( "path.separator" )
private String pathSeparathor;
+ public void setProjectName( String projectName )
+ {
+ this.projectName = projectName;
+ }
+
public void setProjectVersion( String projectVersion )
{
this.projectVersion = projectVersion;
}
+ public void setImplementationBuild( String implementationBuild )
+ {
+ this.implementationBuild = implementationBuild;
+ }
+
public void setJavaVersion( String javaVersion )
{
this.javaVersion = javaVersion;
@@ -136,7 +158,7 @@ public final class Version
public void run()
{
- logger.info( "Apache Onami Console {}", projectVersion );
+ logger.info( "{} {} (r{})", projectName, projectVersion,
implementationBuild );
logger.info( "Java version: {}, vendor: {}", javaVersion, javaVendor );
logger.info( "Java home: {}", javaHome );
logger.info( "Default locale: {}_{}, platform encoding: {}",
@@ -147,7 +169,7 @@ public final class Version
private String getOsFamily()
{
- String osName = this.osName.toLowerCase();
+ String osName = this.osName.toLowerCase( Locale.ENGLISH );
if ( osName.indexOf( "windows" ) != -1 )
{
Modified:
onami/sandbox/console/src/main/java/org/apache/onami/console/modules/BasicConfigurationModule.java
URL:
http://svn.apache.org/viewvc/onami/sandbox/console/src/main/java/org/apache/onami/console/modules/BasicConfigurationModule.java?rev=1503150&r1=1503149&r2=1503150&view=diff
==============================================================================
---
onami/sandbox/console/src/main/java/org/apache/onami/console/modules/BasicConfigurationModule.java
(original)
+++
onami/sandbox/console/src/main/java/org/apache/onami/console/modules/BasicConfigurationModule.java
Mon Jul 15 09:29:36 2013
@@ -30,6 +30,8 @@ public final class BasicConfigurationMod
{
bindEnvironmentVariables();
bindSystemProperties();
+
+ bindProperties( getClass().getResource(
"/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties" ) );
}
}
Added:
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties
URL:
http://svn.apache.org/viewvc/onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties?rev=1503150&view=auto
==============================================================================
---
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties
(added)
+++
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties
Mon Jul 15 09:29:36 2013
@@ -0,0 +1,25 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+version=${project.version}
+groupId=${project.groupId}
+artifactId=${project.artifactId}
+project.name=${project.name}
+project.description=${project.description}
+implementation.build=${implementation.build}
Propchange:
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
onami/sandbox/console/src/main/resources/META-INF/maven/org.apache.onami/org.apache.onami.console/pom.properties
------------------------------------------------------------------------------
svn:keywords = Date Revision Author HeadURL Id