Рубрики
Без рубрики

Помощь в сборке Gradle для hacktoberfest

Используя https://gradle.org как ваш инструмент сборки? Читайте дальше. #хактоберфест То, что у тебя есть… С тегами java, kotlin, android, хактоберфест.

Использование https://gradle.org как ваш инструмент сборки? Читайте дальше.

То, о чем вы должны знать ОктоберФест , заключается в том, что в Германии это происходит в основном в сентябре. Не спрашивай меня почему.

Итак, я уже отправил запрос на #хактоберфест

Что это за пиар такой? (проверьте все применимые)

  • [x] Рефакторинг
  • [ ] Особенность
  • [ ] Исправление ошибки
  • [ ] Обновление документации

Описание

Здравствуйте, я нашел ваш проект на hacktoberfest и подумал, что помогу вам поддерживать сборку вашего репозитория, чтобы использовать последние и самые свежие версии

Здравствуйте, я нашел ваш проект на hacktoberfest и подумал, что помогу вам поддерживать сборку вашего репозитория, чтобы использовать последние и самые свежие версии

Я бы не стал самостоятельно обновлять версии зависимостей, но теперь вы можете легко это сделать, отредактировав gradle.properties.

Чтобы позже выполнить поиск обновления зависимостей, просто запустите ./gradlew: Преобразования отражения

Связанные Билеты и документы

https://github.com/jmfayard/buildSrcVersions/issues/77 https://github.com/jmfayard/buildSrcVersions/issues/82 https://github.com/jmfayard/buildSrcVersions/issues/77

и еще один!

Что это за пиар такой? (проверьте все применимые)

  • [x] Рефакторинг
  • [ ] Особенность
  • [ ] Исправление ошибки
  • [ ] Обновление документации

Описание

То же, что https://github.com/FultonBrowne/Ara-android/pull/44

Связанные Билеты и документы

https://github.com/jmfayard/buildSrcVersions/issues/77 https://github.com/jmfayard/buildSrcVersions/issues/82 https://github.com/jmfayard/buildSrcVersions/issues/77

Примечание: на самом деле вам не нужно зависеть от больше, если вы используете ./gradlew: обновленные версии

Если вы посмотрите, я сделал точно то же самое. Давайте развернем его:

Я обновил Gradle:

Всегда хорошая идея. Вы получаете больше возможностей, меньше ошибок, больше скорости.

$ ./gradlew оболочка --gradle-версия 5.6.2 $ ./gradlew задачи

Я добавил плагины build can и build Src версии Gradle:

// build.gradle

plugins {
    // :refreshVersions see https://github.com/jmfayard/buildSrcVersions/issues/77
    id("de.fayard.buildSrcVersions").version("0.6.1")
    id ("com.gradle.build-scan").version("2.4.2") 
}

buildSrcVersions {
  // Documented at https://github.com/jmfayard/buildSrcVersions/issues/53
}

buildScan {
    // ./gradlew --scan $TASKNAME 
    // see https://dev.to/jmfayard/the-one-gradle-trick-that-supersedes-all-the-others-5bpg

    termsOfServiceUrl = "https://gradle.com/terms-of-service"
    termsOfServiceAgree = "yes"
}

Я запускаю $ ./gradlew обновленные версии

Это автоматически извлекает версии из зависимостей проекта, и позволяет находить более новые доступные версии.

## gradle.properties
# user settings go here
# some.gradle.property=value

# Dependencies and Plugin versions with their available updates
# Generated by $ ./gradlew refreshVersions
# You can edit the rest of the file, it will be kept intact
# See https://github.com/jmfayard/buildSrcVersions/issues/77
plugin.com.github.ben-manes.versions=0.25.0
plugin.de.fayard.buildSrcVersions=0.6.1
version.com.android.tools.build..gradle=3.5.0
version.play-services-location=17.0.0
version.bottom-navigation-bar=2.1.0
version.lifecycle-extensions=2.0.0
#                # available=2.1.0
version.org.jetbrains.kotlin=1.3.31
#                # available=1.3.50
version.appcompat=1.1.0-rc01
#     # available=1.1.0
version.cardview=1.0.0
version.core-ktx=1.0.2
#    # available=1.1.0
# ....

Любопытно узнать об этой функции?

Прочитайте документы по адресу gradle:refreshVersions” генерирует gradle.properties с версиями и доступными обновлениями

  • Примечание 1: Я сам не обновляю зависимости, это должен делать владелец проекта!
  • Примечание 2: я должен скопировать/вставить этот шаблонный код в settings.gradle , чтобы плагины подбирали правильную версию

Я добавляю недостающий тест ./gradlew и ./gradlew устанавливать

Один из многих способов, которыми Google ошибся, заключается в том, что, в отличие от практически всех программных проектов на земле, Android project по умолчанию не имеет эквивалента $ npm install и $ npm test .

Что делает его еще глупее, так это то, что добавить пару строк в ./build.gradle действительно тривиально

// build.gradle
tasks.create("install") {
    group = "custom"
    description = "Install the app"
    dependsOn(":app:installDebug")
}

tasks.create("test") {
    group = "custom"
    description = "Run the unit tests"
    dependsOn(":app:testDebugUnitTest")
}
tasks.create("hello") {
    group = "custom"
    description = "Empty Hello World task, useful to debug build problems"
}

Бонус: вы знаете, что должны поддерживать README, но вам слишком лень это делать? Теперь эта часть может быть задокументирована самостоятельно!

$ ./gradlew tasks --group=custom

> Task :tasks

------------------------------------------------------------
Tasks runnable from root project
------------------------------------------------------------

Custom tasks
------------
install - Install the app
test - Run the unit tests
hello - Empty Hello World task, useful to debug build problems

To see all tasks and more detail, run gradlew tasks --all

To see more detail about a task, run gradlew help --task 

Смотрите мою предыдущую статью:

Используйте Gradle build-scan!

Жан-Мишель Файяр 🇫🇷 🇩🇪 🇬🇧 🇪🇸 🇨🇴 ・ 22 сентября 19 ・ 4 минуты читать

Используя эту информацию, я мог бы повысить производительность сборки, просто добавив несколько строк в gradle.properties

## gradle.properties

# See https://dev.to/jmfayard/configuring-gradle-with-gradle-properties-211k
org.gradle.caching=true
org.gradle.parallel=true
kotlin.code.style=official
studio.projectview=true

Смотрите мою статью о gradle.properties

Настройка Gradle с помощью “gradle.properties”

Жан-Мишель Файяр 🇫🇷 🇩🇪 🇬🇧 🇪🇸 🇨🇴 ・ 26 сентября ’19 ・ 3 минуты чтения

Самое лучшее в моей нише – это то, что то, что я сделал, является полностью универсальным и дает разработчику возможность делать то, что она знает лучше всего!

Оригинал: “https://dev.to/jmfayard/helping-out-with-gradle-builds-for-hacktoberfest-1c1c”