Link Search Menu Expand Document

==maven && gradle==

  • 빌드 자동화 도구

==gradle==

  • groovy

===설치(aws linux)===

  • sudo wget https://services.gradle.org/distributions/gradle-5.4.1-bin.zip
  • sudo mkdir /opt/gradle
  • sudo unzip -d /opt/gradle gradle-5.4.1-bin.zip
  • export PATH=$PATH:/opt/gradle/gradle-5.4.1/bin
  • gradle -v

===gradlew===

  • wrapper, gradle 버전 문제로 실행이 안되는 경우를 방지 하기 위한 호환용 스크립트

===setting.gradle===

rootProject.name = ‘java-some-project’ include ‘common’ </source>

  • rootProject.name: root 프로젝트 이름
  • include: 포함할 sub 프로젝트 이름

===build.gradle===

====plugins====

// root project: root/build.gradle.kts plugins { kotlin(“jvm”) version “1.3.61” }

// sub project: root/sub/build.gradle.kts plugins { kotlin(“jvm”) } </source>

  • compileOnly 컴파일에서만 사용, lombok
  • compile
  • testCompile
  • implementation
  • testImplementation

rootProject.name = ‘some-platform’

include ‘common-library’ include ‘batch:pick-ad-bid’ findProject(‘:batch:pick-ad-bid’)?.name = ‘pick-ad-bid’ include ‘batch:pick-house-ad’

buildscript { ext { springBootVersion = ‘2.0.5.RELEASE’ } repositories { mavenCentral() } dependencies { classpath(“org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}”) } }

apply plugin: ‘java’ apply plugin: ‘eclipse’ apply plugin: ‘idea’ apply plugin: ‘groovy’ apply plugin: ‘org.springframework.boot’ apply plugin: ‘io.spring.dependency-management’

sourceCompatibility = 1.8

bootJar { baseName = ‘taxbill-ad-sap’ version = ‘1.0.0-SNAPSHOT’

from('libs') {
    include 'libsapjco3.*'
} }

dependencies { compile project(‘:common-library’)

compile 'mysql:mysql-connector-java'
implementation('org.springframework.boot:spring-boot-starter-batch')
implementation('org.springframework.boot:spring-boot-starter-data-jpa')
testImplementation('org.springframework.boot:spring-boot-starter-test')
testImplementation('org.springframework.batch:spring-batch-test')

compileOnly("org.projectlombok:lombok:${versions.lombok}")
annotationProcessor("org.projectlombok:lombok:${versions.lombok}")
testCompileOnly("org.projectlombok:lombok:${versions.lombok}")
testAnnotationProcessor("org.projectlombok:lombok:${versions.lombok}")

// Spock
testCompile('org.spockframework:spock-core:1.1-groovy-2.4')
testCompile('org.spockframework:spock-spring:1.1-groovy-2.4') }

</source>

==maven==

  • xml형식의 버전관리

==참고 링크==

  • [https://bkim.tistory.com/13 gradle maven 차이]
  • [http://dimdim.tistory.com/entry/Maven-%EC%A0%95%EB%A6%AC maven 정리]
  • [https://mvnrepository.com/ maven repository]
  • [https://kwonnam.pe.kr/wiki/gradle/multiproject gradle multiproject]
  • [https://docs.gradle.org/current/userguide/multi_project_builds.html gradle multiproject2]