Skip to content

Instantly share code, notes, and snippets.

@2BAB
Last active May 26, 2016 02:10
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 2BAB/f8a247b1be2ffad2ad924d78ca1e34b9 to your computer and use it in GitHub Desktop.
Save 2BAB/f8a247b1be2ffad2ad924d78ca1e34b9 to your computer and use it in GitHub Desktop.
A Script For Init Gradle Plugin Project
#!/bin/sh
echo "Input Your ProjectName like my-gradle-plugin"
read projectName
echo "Input Your PackageName like com.example.gradle"
read packageName
echo "Input Your First Plugin Name like say-hello"
read pluginName
echo "=== Download Sample Project Start ==="
git clone https://github.com/2BAB/SampleGradlePlugin.git
echo "=== Download Done ==="
echo "=== Configurating Project ==="
rootPath=$(pwd)
mv SampleGradlePlugin $projectName
cd $projectName/src/main/groovy
packagePath=`echo $packageName | sed "s/\./\//g"`
mkdir -p $packagePath
mv PluginImpl.groovy $packagePath
sed -i.bak "s/PackageName/$packageName/g" $packagePath/PluginImpl.groovy
rm -rf $packagePath/PluginImpl.groovy.bak
sed -i.bak "s/PackageName/$packageName/g" ../resources/META-INF/gradle-plugins/PluginName.properties
rm -rf ../resources/META-INF/gradle-plugins/PluginName.properties.bak
sed -i.bak "s/PackageName/$packageName/g" ../../../build.gradle
rm -rf ../../../build.gradle.bak
sed -i.bak "s/ProjectName/$projectName/g" ../../../settings.gradle
rm -rf ../../../settings.gradle.bak
rm -rf ../../../.git
cd ../resources/META-INF/gradle-plugins/
mv PluginName.properties "$pluginName.properties"
echo "=== Configuration Done ==="
echo "Init success, add the code below to your app project to use the plugin."
echo "classpath '$packageName:$projectName:1.0-SNAPSHOT'"
echo "apply plugin: '$pluginName'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment