멀티프로젝트로 코드 중복 제거하기

CHEESE·2023년 7월 29일
0

OSSCA 2023

목록 보기
4/7
post-thumbnail

중복되는 코드가 너무 많아!

예제 코드를 만들면서 새 프로젝트를 생성할 때 마다 필요한 case classobject들을 복붙x999 하다보니 중복되는 코드들이 너무 많다. 한 곳에 관리할 수는 없을까?

중복되는 코드를 모아놓자

코드를 어디에 모아둘까? 일단 build.sbt에서 코드를 모아놓을 새 서브프로젝트를 생성하자.
공통 코드니까 core라는 이름으로 만들었다.

build.sbt
필요한 설정 정보는 알아서 ...

lazy val core = project
  .settings(
    libraryDependencies ++= Seq(
      ...
    )
  )

core 프로젝트에 의존하게 하자

기존에 있던 cheese-test라는 프로젝트가 core에 있는 코드에 의존할 수 있도록 depensOn을 통해 설정해준다.

build.sbt

lazy val `cheese-test` = project
  .dependsOn(core)
  .settings(
    libraryDependencies ++= Seq(
      ...
    )
  )

테스트

점진적으로 테스트 해보자.
1. cheese-test 실행
2. 중복 제거할 코드들 cheese-test -> core로 복사 후 실행
3. 이상이 없으면 cheese-test에 있는 중복 코드를 삭제한다.
4. 마지막으로 실행!

참고 링크

1개의 댓글

comment-user-thumbnail
2023년 7월 29일

유익한 글이었습니다.

답글 달기