Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Gradle — система автоматической сборки, построенная на принципах Apache Ant и Apache Maven, но предоставляющая DSL на языках Groovy и Kotlin вместо традиционной XML-образной формы представления конфигурации проекта.

В отличие от Apache Maven, основанного на концепции жизненного цикла проекта, и Apache Ant, в котором порядок выполнения задач (targets) определяется отношениями зависимости (depends-on), Gradle использует направленный ациклический граф для определения порядка выполнения задач.

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

Основные плагины предназначены для разработки и развертывания Java, Groovy и Scala приложений, но есть плагины для других языков программирования: C++, Swift, Kotlin а также Spring-проект с помощью Spring Boot.

Имеет свой собственный Gradle Daemon [7] - фоновый процесс для ускорения сборки проекта.

Пример проекта для Java

Рассмотрим пример проекта, в котором используется стандартная структура каталогов Maven для исходных кодов и ресурсов.

Такая структура включает в себя следующие каталоги:

  • src/main/java,
  • src/main/resources,
  • src/test/java,
  • src/test/resources.
  1. Создаем эти файлы java-проекта через запуск команды в каталоге проекта: gradle init
  2. Выбираем "Тип проекта" : application - вводим 2
  3. Выбираем "Язык проекта" : java - вводим 3
  4. Совместный проект или разделенный - вводим 1
  5. Выбираем "Язык DSL" : groovy - вводим 1
  6. Выбираем "тестовый фреймворк проекта" : JUnit 4 - вводим 1
  7. Вводим название проекта и пакета(на пример: mainProject).

Всё! Проект создан и теперь его можно открыть в любой IDE и работать непосредственно со сформированными каталогами и файлами.

Найдём сборочный файл Gradle нашего проекта по пути /app/build.gradle:

plugins {
    // Apply the application plugin to add support for building a CLI application in Java.
    id 'application'
}

repositories {
    // Use Maven Central for resolving dependencies.
    mavenCentral()
}

dependencies {
    // Use JUnit test framework.
    testImplementation 'junit:junit:4.13.1'

    // This dependency is used by the application.
    implementation 'com.google.guava:guava:30.0-jre'
}

application {
    // Define the main class for the application.
    mainClass = 'mainProject.App'
}

Соберем проект через команду gradle build:

> gradle build
:compileJava
:processResources
:classes
:jar
:assemble
:compileTestJava
:processTestResources
:testClasses
:test
:check
:build

BUILD SUCCESSFUL

Готовый jar-файл будет лежать в /app/build/libs: app.jar

Очистим собранные файлы командой: gradle clean

Чтобы выполнить этот jar-файл из командной строки, добавим в файл build.gradle эти строки (версию java и наш Main-class):

java {
	sourceCompatibility = JavaVersion.VERSION_1_8
	targetCompatibility = JavaVersion.VERSION_1_8
}
jar {
  manifest {
    attributes(
      'Main-Class': 'mainProject.App'
    )
  }
}

Снова собираем проект командой gradle build -> переходим в каталог /app/build/libs и набираем: java -cp . -jar app.jar

Мы должны увидеть приветствие "Hello, World!".

Жизненный цикл задач в Gradle

Посмотреть все задачи можно через команду: gradle tasks

Посмотреть все зависимости дочернего проекта app можно через команду: gradle app:dependencies

Java плагин эмулирует жизненные циклы Maven, в виде задач в направленном ациклическом графе зависимостей для входов и выходов каждой задачи. В этом примере выполнение задачи build зависит от результата выполнения задач check и assemble. Также задача check зависит от test, а assemble от jar.

Gradle также позволяет использовать для проектов структуру каталогов, отличающуюся от конвенции Maven. В следующем примере будет рассмотрен проект, в котором исходный код находится в каталоге src/java, а не в src/main/java.

build.gradle

apply plugin: 'java'

sourceSets {
    main {
        java {
            srcDirs = ['src/java']
        }
    }
}


Мультипроектная сборка

Для приложений, состоящих из модулей, удобно использовать мультипроектный подход Gradle:

  1. Каждый модуль расположен в своей отдельной директории.
  2. Каждый модуль может включать дочерние, которые будут расположены во вложенных директориях.
  3. Описание мультипроектной структуры выполняется в settings.gradle в корневой директории проекта.
  4. В корневой директории проекта есть build.gradle, который может настраивать себя и дочерние модули.
  5. Каждый дочерний модуль может иметь такие же два файла для настройки себя и своих дочерних модулей.
  6. Такой подход позволяет удобно запускать задачи для конкретных модулей или всего проекта в целом.

Основные задачи

- Выполнение задач на этапе сборки (тестирование, отчеты, логирование и т.д / походы в (сеть | сервисы), в общем, все, что умеет любое приложение)

- Сборка зависимых библиотек проекта для билда, распределение степени доступа (как модификаторы доступа в языках программирования) внутри исполняющегося кода

Основная структура build.gradle файла

app/build.gradle.kts

// Блок, отвечающий за подключение плагинов
plugins {
    id("org.jetbrains.kotlin.jvm") version "1.4.31"  

    application 
}

// Основные репозитории, из которых скачиваются плагины 
repositories {
    mavenCentral() 
}

// Зависимости для вашего проекта 
dependencies {
    implementation(platform("org.jetbrains.kotlin:kotlin-bom")) // пример подключения плагина в ваш проект

    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") 

    implementation("com.google.guava:guava:30.1-jre") 

    testImplementation("org.jetbrains.kotlin:kotlin-test") 

    testImplementation("org.jetbrains.kotlin:kotlin-test-junit") 
}

// Основной класс для запуска программы 
application {
    mainClass.set("demo.AppKt") 
}

См. также

Литература

Примечания

Эта страница в последний раз была отредактирована 9 января 2024 в 18:23.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).