[JAVA] Definieren Sie eine Aufgabe zum ZIP-Archivieren einer Reihe von Projektdateien in Gradle

Überblick

build.gradle

plugins {
  id 'java'
}

repositories {
  mavenCentral()
}

version = '1.2.3'

dependencies {
  //Geben Sie die zu verwendende Bibliothek an
  implementation 'com.google.guava:guava:29.0-jre'
  testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.2'
  testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.6.2'
}

//Definieren Sie eine Aufgabe zum ZIP-Archivieren einer Reihe von Projektdateien
task myZip(type: Zip) {

  //Verzeichnis zur Ausgabe von ZIP-Dateien
  destinationDirectory = file('..') //Halte es eine Ebene höher

  //Zu archivierender Dateiname
  archiveFileName =
    'myapp-' +
    archiveVersion.get() + '-' +
    new Date().format('yyyyMMdd_HHmmss_SSS') + '.zip'

  //Projektverzeichnis
  from '.' //Aktuelles Verzeichnis

  //Gradle generierte Dateispeicherung(Verzeichnis erstellen)Oder
  // .Fügen Sie keine versteckten Verzeichnisse wie gradle in ZIP-Dateien ein
  excludes = ['build', '.*']
}

Funktionsprüfung

Es wird davon ausgegangen, dass nicht nur der Quellcode, sondern auch Text- und Bilddateien im Projektsatz enthalten sind.

$ find .
.
./foodir
./foodir/foo.jpg
./foodir/foo.png
./foo.txt
./build.gradle
./src
./src/test
./src/test/resources
./src/test/resources/mytest.properties
./src/test/java
./src/test/java/myapp
./src/test/java/myapp/AppTest.java
./src/main
./src/main/resources
./src/main/resources/myapp.properties
./src/main/java
./src/main/java/myapp
./src/main/java/myapp/App.java

Führen Sie die definierte Aufgabe myZip aus.

$ gradle myZip

BUILD SUCCESSFUL in 651ms
1 actionable task: 1 executed

Überprüfen Sie den Inhalt der ZIP-Datei.

$ unzip -l ../myapp-1.2.3-20200816_091726_068.zip 
Archive:  ../myapp-1.2.3-20200816_091726_068.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  08-16-2020 07:45   foodir/
    14526  08-16-2020 09:16   foodir/foo.jpg
    18136  10-18-2019 18:50   foodir/foo.png
       84  08-16-2020 09:14   foo.txt
      998  08-16-2020 08:51   build.gradle
        0  08-16-2020 06:59   src/
        0  08-16-2020 06:59   src/test/
        0  08-16-2020 09:16   src/test/resources/
        9  08-16-2020 09:17   src/test/resources/mytest.properties
        0  08-16-2020 06:59   src/test/java/
        0  08-16-2020 06:59   src/test/java/myapp/
      357  08-16-2020 06:59   src/test/java/myapp/AppTest.java
        0  08-16-2020 06:59   src/main/
        0  08-16-2020 09:16   src/main/resources/
        9  08-16-2020 09:16   src/main/resources/myapp.properties
        0  08-16-2020 06:59   src/main/java/
        0  08-16-2020 06:59   src/main/java/myapp/
      286  08-16-2020 06:59   src/main/java/myapp/App.java
---------                     -------
    34405                     18 files

Referenzmaterial

Recommended Posts

Definieren Sie eine Aufgabe zum ZIP-Archivieren einer Reihe von Projektdateien in Gradle
Stellen Sie die Zeit von LocalDateTime auf eine bestimmte Zeit ein
So führen Sie eine djUnit-Aufgabe in Ant aus
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Legen Sie die Quelle der Bibliothek als Abhängigkeit in IntelliJ als separates Modul des Projekts fest
Fügen Sie mit Gradle ein Projekt in einen beliebigen Ordner ein
Zeigen Sie die Gradle-Aufgabe im Spring Boot-Projekt an
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
So setzen Sie BuildConfig des Bibliotheksprojekts (Moduls) auf Debug
Ich möchte eine Funktion in der Rails Console definieren
[Rails 6] So legen Sie ein Hintergrundbild in Rails [CSS] fest
Ich habe ein Plug-In erstellt, das Jextract mit Gradle-Aufgaben ausführt
Richten Sie in IntelliJ ein Gradle-Multiprojekt ein, um eine JAR-Datei zu erstellen
Ich habe einen RESAS-API-Client in Java erstellt
So richten Sie einen Proxy mit Authentifizierung in Feign ein
Definieren wir eine Rake-Aufgabe.
Gradle
Gradle Memorandum
Gradle-Installation
Zeigen Sie die Gradle-Aufgabe im Spring Boot-Projekt an
Behandeln Sie die Geschäftslogik für eine Reihe von Entitäten in einer Java-Klasse
Korrigieren Sie den Namen der Kriegsdatei auf den in Maven festgelegten
Die in /lib/calendars.properties von Java jre festgelegte Millisekunde ist UTC
Verwandeln Sie ein Array von Strings in eine Liste von Ganzzahlen in Java
Fügen Sie dem JAR-Dateinamen in Gradle einen Zeitstempel hinzu
So geben Sie eine Liste von Zeichenfolgen in JSF als durch Kommas getrennte Zeichenfolgen aus
So stellen Sie das Bild mithilfe der Symbolschriftart (Symbole) links / rechts von der Schaltfläche auf zeichnbar ein