package com.eactive.eai.manage.tools;

import java.util.Map;

import lombok.Data;

/**
 * 빌드 시점에 생성되는 version.info(classpath 리소스) 내용을 담는 DTO.
 * eapim-online(WAR 루트 프로젝트) build.gradle의 generateVersionInfo 태스크가
 * processResources 이전에 생성한다.
 */
@Data
public class VersionInfoDTO {

	/** git describe --tags --always --dirty 결과 (예: 20260722_개발배포, 또는 태그 없으면 커밋 해시). */
	String version;
	String buildTime;

	/**
	 * elink-online-common 등 git submodule 각각의 git describe 결과.
	 * 키는 submodule 디렉토리명(elink-online-common 등), 값은 describe 결과.
	 * 루트(eapim-online)의 describe/dirty만으로는 어느 서브모듈이 바뀌었는지 알 수 없어서 별도로 담는다.
	 */
	Map<String, String> moduleVersions;
}
