apply plugin: 'com.android.tools.java-library'
apply plugin: 'sdk-java-lib'

group = 'com.android.tools'
version = rootProject.ext.baseVersion

base {
    archivesName.set("archquery")
}

// configure the manifest of the sdkJar task.
sdkJar.manifest.attributes('Main-Class': 'com.android.archquery.Main')

task archQueryStartScripts(type: CreateStartScripts) {
    classpath = project.getTasks().getAt(JavaPlugin.JAR_TASK_NAME).getOutputs().getFiles().plus(
            project.getConfigurations().getByName('runtimeClasspath'))
    outputDir new File(project.getBuildDir(), 'scripts')

    description 'Creates OS specific scripts to start archQuery'
    mainClass.set('com.android.archquery.Main')
    applicationName = 'archquery'
}


sdk {
    common(mac, linux) {
        item(new File(buildDir, 'scripts/archquery')) {
            into 'bin'
            builtBy 'archQueryStartScripts'
        }
    }
    windows {
        item(new File(buildDir, 'scripts/archquery.bat')) {
            into 'bin'
            builtBy 'archQueryStartScripts'
        }
    }
}

jar {
    from 'NOTICE'
}
