Class DistributionExtension

java.lang.Object
io.github.mj_youn.plugin.DistributionExtension

public class DistributionExtension extends Object
DistributionPlugin의 빌드 설정 DSL 확장 클래스입니다. 사용 예시:
distribution {
    appName = 'my-custom-service'
    packageType = 'tomcat' // 'jar' (기본값) 또는 'tomcat'
    tomcatVersion = '11.0.15'
    httpPort = 8083
    os = 'linux' // 'windows', 'all'
    token 'customKey', 'customValue'
    extraDir 'webapps'
}
Since:
2026. 09. 07.
  • Constructor Summary

    Constructors
    Constructor
    Description
    DistributionExtension(org.gradle.api.Project project)
    DistributionExtension 생성자입니다.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    extraDir(String extraDir)
    배포 패키지 루트에 함께 포함할 추가 디렉토리를 하나 추가합니다.
    패키징 및 스크립트 치환에 사용할 애플리케이션 이름을 반환합니다.
    Docker 이미지 태그를 반환합니다.
    Docker 원격 레지스트리 URL을 반환합니다.
    배포 패키지 루트에 함께 포함할 추가 디렉토리 목록을 반환합니다.
    스크립트 치환에 사용할 추가 사용자 정의 토큰 맵을 반환합니다.
    int
    HTTP 서비스 포트 번호를 반환합니다.
    배포 대상 운영체제('linux', 'windows', 'all')를 반환합니다.
    배포 패키지 유형('jar' 또는 'tomcat')을 반환합니다.
    톰캣 배포 시 사용할 기본 톰캣 버전을 반환합니다.
    boolean
    현재 설정된 패키지 유형이 톰캣 배포 모드인지 여부를 확인합니다.
    void
    setAppName(String appName)
    패키징 및 스크립트 치환에 사용할 애플리케이션 이름을 설정합니다.
    void
    setDockerImageTag(String dockerImageTag)
    Docker 이미지 태그를 설정합니다.
    void
    setDockerRegistry(String dockerRegistry)
    Docker 원격 레지스트리 URL을 설정합니다.
    void
    setExtraDirs(List<String> extraDirs)
    배포 패키지 루트에 함께 포함할 추가 디렉토리를 설정합니다.
    void
    setHttpPort(int httpPort)
    HTTP 서비스 포트 번호를 설정합니다.
    void
    배포 대상 운영체제를 설정합니다 ('linux', 'windows', 'all').
    void
    setPackageType(String packageType)
    배포 패키지 유형을 설정합니다 ('jar' 또는 'tomcat').
    void
    setTomcatVersion(String tomcatVersion)
    톰캣 배포 시 사용할 톰캣 버전을 설정합니다.
    void
    token(String key, Object value)
    스크립트 필터링(ReplaceTokens)에 사용할 커스텀 토큰을 추가합니다.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DistributionExtension

      public DistributionExtension(org.gradle.api.Project project)
      DistributionExtension 생성자입니다.
      Parameters:
      project - Gradle 프로젝트 인스턴스
  • Method Details

    • getAppName

      public String getAppName()
      패키징 및 스크립트 치환에 사용할 애플리케이션 이름을 반환합니다.
      Returns:
      애플리케이션 이름 (기본값: project.name)
    • setAppName

      public void setAppName(String appName)
      패키징 및 스크립트 치환에 사용할 애플리케이션 이름을 설정합니다.
      Parameters:
      appName - 설정할 애플리케이션 이름
    • getPackageType

      public String getPackageType()
      배포 패키지 유형('jar' 또는 'tomcat')을 반환합니다.
      Returns:
      패키지 유형 (기본값: "jar")
    • setPackageType

      public void setPackageType(String packageType)
      배포 패키지 유형을 설정합니다 ('jar' 또는 'tomcat').
      Parameters:
      packageType - 설정할 패키지 유형
    • isTomcat

      public boolean isTomcat()
      현재 설정된 패키지 유형이 톰캣 배포 모드인지 여부를 확인합니다.
      Returns:
      톰캣 배포 모드 여부
    • getTomcatVersion

      public String getTomcatVersion()
      톰캣 배포 시 사용할 기본 톰캣 버전을 반환합니다.
      Returns:
      톰캣 버전 (기본값: "11.0.15")
    • setTomcatVersion

      public void setTomcatVersion(String tomcatVersion)
      톰캣 배포 시 사용할 톰캣 버전을 설정합니다.
      Parameters:
      tomcatVersion - 톰캣 버전
    • getHttpPort

      public int getHttpPort()
      HTTP 서비스 포트 번호를 반환합니다.
      Returns:
      HTTP 포트 (기본값: 443)
    • setHttpPort

      public void setHttpPort(int httpPort)
      HTTP 서비스 포트 번호를 설정합니다.
      Parameters:
      httpPort - HTTP 포트 번호
    • getExtraTokens

      public Map<String,Object> getExtraTokens()
      스크립트 치환에 사용할 추가 사용자 정의 토큰 맵을 반환합니다.
      Returns:
      추가 토큰 맵
    • token

      public void token(String key, Object value)
      스크립트 필터링(ReplaceTokens)에 사용할 커스텀 토큰을 추가합니다.
      Parameters:
      key - 토큰 키
      value - 토큰 값
    • getExtraDirs

      public List<String> getExtraDirs()
      배포 패키지 루트에 함께 포함할 추가 디렉토리 목록을 반환합니다.
      Returns:
      추가 디렉토리 목록
    • setExtraDirs

      public void setExtraDirs(List<String> extraDirs)
      배포 패키지 루트에 함께 포함할 추가 디렉토리를 설정합니다.
      Parameters:
      extraDirs - 추가 디렉토리 목록
    • extraDir

      public void extraDir(String extraDir)
      배포 패키지 루트에 함께 포함할 추가 디렉토리를 하나 추가합니다.
      Parameters:
      extraDir - 추가 디렉토리 이름
    • getOs

      public String getOs()
      배포 대상 운영체제('linux', 'windows', 'all')를 반환합니다.
      Returns:
      대상 운영체제 (기본값: "linux")
    • setOs

      public void setOs(String os)
      배포 대상 운영체제를 설정합니다 ('linux', 'windows', 'all').
      Parameters:
      os - 설정할 대상 운영체제
    • getDockerRegistry

      public String getDockerRegistry()
      Docker 원격 레지스트리 URL을 반환합니다.
      Returns:
      원격 레지스트리 URL (예: my.registry.com/repo)
    • setDockerRegistry

      public void setDockerRegistry(String dockerRegistry)
      Docker 원격 레지스트리 URL을 설정합니다.
      Parameters:
      dockerRegistry - 원격 레지스트리 URL
    • getDockerImageTag

      public String getDockerImageTag()
      Docker 이미지 태그를 반환합니다.
      Returns:
      Docker 이미지 태그 (기본값: null -> project.version 사용)
    • setDockerImageTag

      public void setDockerImageTag(String dockerImageTag)
      Docker 이미지 태그를 설정합니다.
      Parameters:
      dockerImageTag - Docker 이미지 태그