How to make a Gradle project versioneye-friendly?

笑着哭i 提交于 2019-12-13 03:18:29

问题


I have a Gradle project that I want to import to Versioneye to check if my dependencies are up to date, but it's a complex config file (with external variables etc.) and Versioneye does not manage to handle the dependencies properly.

I don't want to install the Versioneye gradle plugin.

How can I export the dependencies from my repo to Versioneye?


回答1:


You can list all the dependencies gradle app:dependencies.

With a bit of string manipulation, you can export a "clean" dependencies file and manually upload it to Versioneye.

#!/bin/bash

OUT_DIR='versioneye'
OUT_FILE="${OUT_DIR}/build.gradle"

mkdir -p "${OUT_DIR}"
touch "${OUT_FILE}"

# copy your maven repositories closure below from build.gradle
tee "${OUT_FILE}" <<EOF >/dev/null
allprojects {
    repositories {
        maven {
            url 'https://maven.google.com/maven-google-remote'
        }
        maven {
            url "https://jitpack.io"
        }
    }
}
EOF

echo 'dependencies {' >> "${OUT_FILE}"
./gradlew app:dependencies | grep '^+---' | sed 's|+--- |compile "|' | sed 's| (\*)||g' | sed 's|$|"|' | sort -u >> "${OUT_FILE}"
echo '}' >> "${OUT_FILE}"

cat "${OUT_FILE}"
cd "${OUT_DIR}"
start .
cd -

echo 'Now, open versioneye.com and manually upload the genreated build.gradle file.'

This will generate a file that looks like this:

allprojects {
    repositories {
        maven {
            url 'https://maven.google.com/maven-google-remote'
        }
        maven {
            url "https://jitpack.io"
        }
        ...
    }
}
dependencies {
compile "com.android.support.test.espresso:espresso-contrib:2.2.2"
compile "com.android.support.test.espresso:espresso-core:2.2.2"
compile "com.android.support.test.espresso:espresso-intents:2.2.2"
compile "com.facebook.android:facebook-android-sdk:4.17.0"
compile "com.facebook.fresco:fresco:1.5.0"
compile "com.facebook.fresco:imagepipeline-okhttp3:1.5.0"
...
}

This file can be imported to Versioneye with a file upload and will be processed correctly.



来源:https://stackoverflow.com/questions/47433164/how-to-make-a-gradle-project-versioneye-friendly

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!