Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
Copyright (C) 2014 Philip Helger (www.helger.com) philip[at]helger[dot]com Licensed 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.
 
 package com.helger.appbasics.buildinfo;
 
 import java.util.Map;
 
 
 
This class allows you to read the buildinfo.xml files generated by the buildinfo-maven-plugin.

Author(s):
Philip Helger
 
 public final class BuildInfo
 {
  
The default filename as stored in the JAR files.
 
   public static final String BUILDINFO_FILENAME = "META-INF/buildinfo.xml";

  
Indicate that certain fields are only available from V2

Author(s):
Philip Helger
 
   public @interface SinceBuildInfoV2
   {}
 
   private static final String PREFIX_SYSPROPERTY = "systemproperty.";
   private static final String PREFIX_ENVVAR = "envvar.";
 
   private final Map <StringStringm_aMap;
   private final int m_nVersion;
   private final Map <StringStringm_aSysProperties = new HashMap <StringString> ();
   private final Map <StringStringm_aEnvVars = new HashMap <StringString> ();
 
   public BuildInfo (@Nonnull final Map <StringStringaMap)
   {
      = ValueEnforcer.notNull (aMap"Map");
      = getInt ("buildinfo.version");
     if ( < 1)
       throw new IllegalArgumentException ("The passed map is not a buildinfo map!");
 
     // Extract all system properties and env vars
     for (final Map.Entry <StringStringaEntry : aMap.entrySet ())
     {
       final String sKey = aEntry.getKey ();
       if (sKey.startsWith ())
         .put (sKey.substring (.length ()), aEntry.getValue ());
       else
         if (sKey.startsWith ())
           .put (sKey.substring (.length ()), aEntry.getValue ());
     }
   }

  

Returns:
The build info version number.
 
   public int getVersion ()
   {
     return ;
   }

  
Get a string property.

Parameters:
sKey The key to retrieve
Returns:
null if the key does not exist
  public String getString (@Nullable final String sKey)
  {
    return .get (sKey);
  }
  public long getLong (@Nullable final String sKey)
  {
    return StringParser.parseLong (getString (sKey), 0);
  }
  public int getInt (@Nullable final String sKey)
  {
    return StringParser.parseInt (getString (sKey), 0);
  }
  public boolean getBoolean (@Nullable final String sKey)
  {
    return StringParser.parseBool (getString (sKey));
  }
  public String getProjectGroupID ()
  {
    return getString ("project.groupid");
  }
  {
    return getString ("project.artifactid");
  }
  public String getProjectVersion ()
  {
    return getString ("project.version");
  }
  public String getProjectName ()
  {
    return getString ("project.name");
  }
  {
    return getString ("project.packaging");
  }
  {
    return getString ("parentproject.groupid");
  }
  {
    return getString ("parentproject.artifactid");
  }
  {
    return getString ("parentproject.version");
  }
  {
    return getString ("parentproject.name");
  }
  public int getBuildPluginCount ()
  {
    return getInt ("build.plugin.count");
  }
  public String getBuildPluginGroupID (@Nonnegative final int nIndex)
  {
    return getString ("build.plugin." + nIndex + ".groupid");
  }
  public String getBuildPluginArtifactID (@Nonnegative final int nIndex)
  {
    return getString ("build.plugin." + nIndex + ".artifactid");
  }
  public String getBuildPluginVersion (@Nonnegative final int nIndex)
  {
    return getString ("build.plugin." + nIndex + ".version");
  }
  public String getBuildPluginConfiguration (@Nonnegative final int nIndex)
  {
    return getString ("build.plugin." + nIndex + ".configuration");
  }
  public String getBuildPluginKey (@Nonnegative final int nIndex)
  {
    return getString ("build.plugin." + nIndex + ".key");
  }
  public int getDependencyCount ()
  {
    return getInt ("dependency.count");
  }
  public String getDependencyGroupID (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".groupid");
  }
  public String getDependencyArtifactID (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".artifactid");
  }
  public String getDependencyVersion (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".version");
  }
  public String getDependencyType (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".type");
  }
  public String getDependencyClassifier (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".classifier");
  }
  public String getDependencyScope (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".scope");
  }
  public String getDependencySystemPath (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".systempath");
  }
  public boolean isDependencyOptional (@Nonnegative final int nIndex)
  {
    return getBoolean ("dependency." + nIndex + ".optional");
  }

  

Parameters:
nIndex dependency index
Returns:
groupID:artifactid:type - no version info!
  public String getDependencyManagementKey (@Nonnegative final int nIndex)
  {
    return getString ("dependency." + nIndex + ".managementkey");
  }
  // TODO add exclusions
  public DateTime getBuildDateTime ()
  {
    return PDTFactory.createDateTimeFromMillis (getLong ("build.datetime.millis"));
  }
  {
    return ContainerHelper.newMap ();
  }
  public Map <StringStringgetAllEnvVars ()
  {
    return ContainerHelper.newMap ();
  }
  public String toString ()
  {
    return new ToStringGenerator (this).append ("version").append ("map").toString ();
  }
  public static BuildInfo createFromResource (@Nonnull final IReadableResource aRes)
  {
    final Map <StringStringaMap = XMLMapHandler.readMap (aRes);
    if (aMap == null)
      return null;
    return new BuildInfo (aMap);
  }
New to GrepCode? Check out our FAQ X