Android Open Source - masa Masa Util






From Project

Back to project page masa.

License

The source code is released under:

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUC...

If you think the Android project masa listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.jvending.masa;
//from w w w. j a  v a2  s .c o m
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Set;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.toolchain.model.ToolchainModel;
import org.codehaus.plexus.util.xml.Xpp3Dom;

public class MasaUtil
{
    public static String getSdkPathFromEnvironment() {
        return System.getenv().get( "ANDROID_SDK" ); 
            
    }
    public static boolean isSdkOnPath() {
        CommandExecutor executor = CommandExecutor.Factory.createDefaultCommmandExecutor();
     
        try
        {
            executor.executeCommand( "aapt", new ArrayList<String>() );
        }
        catch ( ExecutionException e )
        {
           return executor.getStandardError().contains( "Android" );
        }
        return true;
    }
    
    public static ApplicationRequirements getApplicationRequirements( MavenSession session, MavenProject project )
    {
        PluginDescriptor pluginDescriptor = new PluginDescriptor();
        pluginDescriptor.setGroupId( "org.jvending.masa.plugins" );
        pluginDescriptor.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );

        ToolchainModel model = ( (ToolchainModel) session.getPluginContext( pluginDescriptor, project )
            .get( "toolchain" ) );
        if ( model == null )
        {
            return null;
        }

        Xpp3Dom dom = (Xpp3Dom) model.getConfiguration();
        return new ApplicationRequirements( dom.getChild( "requirements" ) );
    }

    public static String getAndroidVersion( MavenSession session, MavenProject project )
    {
        PluginDescriptor pluginDescriptor = new PluginDescriptor();
        pluginDescriptor.setGroupId( "org.jvending.masa.plugins" );
        pluginDescriptor.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );

        String version = ( (String) session.getPluginContext( pluginDescriptor, project ).get( "androidVersion" ) );
        return version;
    }

    public static String getToolnameWithPath( MavenSession session, MavenProject project, String toolname )
    {
        PluginDescriptor pluginDescriptor = new PluginDescriptor();
        pluginDescriptor.setGroupId( "org.jvending.masa.plugins" );
        pluginDescriptor.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );

        ToolchainModel model = ( (ToolchainModel) session.getPluginContext( pluginDescriptor, project )
            .get( "toolchain" ) );
        if ( model == null )
        {
            return toolname;
        }
        String command = toolname;

        Xpp3Dom dom = (Xpp3Dom) model.getConfiguration();
        for ( Xpp3Dom d : dom.getChild( "toolPaths" ).getChildren() )
        {
            if ( new File( d.getValue(), command ).exists() || new File( d.getValue(), command + ".exe" ).exists() )
            {
                command = new File( d.getValue(), command ).getAbsolutePath();
                break;
            }
        }
        return command;
    }

    public static List<File> getToolpaths( MavenSession session, MavenProject project )
    {
        PluginDescriptor pluginDescriptor = new PluginDescriptor();
        pluginDescriptor.setGroupId( "org.jvending.masa.plugins" );
        pluginDescriptor.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId( "toolchains" ) );

        ToolchainModel model = ( (ToolchainModel) session.getPluginContext( pluginDescriptor, project )
            .get( "toolchain" ) );
        if ( model == null )
        {
            return Collections.EMPTY_LIST;
        }
        List<File> list = new ArrayList<File>();

        Xpp3Dom dom = (Xpp3Dom) model.getConfiguration();
        for ( Xpp3Dom d : dom.getChild( "toolPaths" ).getChildren() )
        {
            File f = new File( d.getValue() );
            if ( f.exists() )
            {
                list.add( f );
            }
        }
        return list;
    }

    public static File getProguardJarFile( MavenProject project )
    {
        for ( Artifact artifact : (Set<Artifact>) project.getDependencyArtifacts() )
        {
            if ( artifact.getGroupId().equals( "net.sf.proguard" ) && artifact.getArtifactId().equals( "proguard" ) )
            {
                return artifact.getFile();
            }
        }
        return null;
    }

    public static File getAndroidJarFile( MavenProject project )
        throws MojoExecutionException
    {
        for ( Artifact artifact : (Set<Artifact>) project.getDependencyArtifacts() )
        {
            if ( artifact.getGroupId().equals( "com.android" ) && artifact.getArtifactId().equals( "android" ) )
            {
                return artifact.getFile();
            }
        }

        throw new MojoExecutionException( "Could not resolve android.jar artifact " );
    }
}




Java Source Code List

org.apache.maven.plugin.surefire.report.AndroidReportConfiguration.java
org.apache.maven.plugin.surefire.report.AndroidXmlReporter.java
org.apache.maven.surefire.android.TestRunnerCoreProvider.java
org.apache.maven.surefire.android.reporting.AndroidReportEntry.java
org.jvending.masa.ApkInstaller.java
org.jvending.masa.ApplicationRequirements.java
org.jvending.masa.CommandExecutor.java
org.jvending.masa.ExecutionException.java
org.jvending.masa.MasaUtil.java
org.jvending.masa.ddmlib.AdbConnector.java
org.jvending.masa.ddmlib.ConnectionException.java
org.jvending.masa.plugin.aapt.AaptCompilerMojo.java
org.jvending.masa.plugin.aapt.AaptPackagerMojo.java
org.jvending.masa.plugin.aapt.LibraryPackagerMojo.java
org.jvending.masa.plugin.aapt.LibraryResourceProcessorMojo.java
org.jvending.masa.plugin.adb.DeviceInstallerMojo.java
org.jvending.masa.plugin.adb.DevicePullerMojo.java
org.jvending.masa.plugin.adb.DevicePusherMojo.java
org.jvending.masa.plugin.aidl.AidlGeneratorMojo.java
org.jvending.masa.plugin.apkbuilder.ApkBuilderMojo.java
org.jvending.masa.plugin.apkbuilder.ApkVerifierMojo.java
org.jvending.masa.plugin.apkbuilder.KeystoreInfo.java
org.jvending.masa.plugin.apkbuilder.NativeLibraries.java
org.jvending.masa.plugin.apkbuilder.PrivateKeyInfo.java
org.jvending.masa.plugin.apkbuilder.X509Cert.java
org.jvending.masa.plugin.dx.DxMojo.java
org.jvending.masa.plugin.jarsigner.JarSignerMojo.java
org.jvending.masa.plugin.lint.LintMojo.java
org.jvending.masa.plugin.localization.CopyResourcesMojo.java
org.jvending.masa.plugin.platformtest.ApkInstallerMojo.java
org.jvending.masa.plugin.platformtest.PlatformTesterMojo.java
org.jvending.masa.plugin.proguard.ProguardMojo.java
org.jvending.masa.plugin.zipalign.ZipAlignMojo.java
org.jvending.masa.plugins.toolchains.Capability.java
org.jvending.masa.plugins.toolchains.Matcher.java
org.jvending.masa.plugins.toolchains.ToolchainMojo.java
org.jvending.masa.plugins.toolchains.Toolchains.java
org.maven.reslinks.plugin.ResourceLinkerMojo.java
${package}.App.java