[JAWS-UG CLI] CodeBuild: #1 ソースコードの作成 (Java)


参考: http://docs.aws.amazon.com/codebuild/latest/userguide/getting-started.html

前提条件

  • gitコマンドが実行できること。

0. 準備

特になし

1. 事前作業

1.1. 作業用ディレクトリの指定

変数の設定
DIR_WORK="${HOME}/src-codebuild-demo-java"

1.2. 作業用ディレクトリの作成、移動

コマンド
mkdir -p ${DIR_WORK}/src/{main,test}/java \
        && cd ${DIR_WORK}/

2. ソースコードの作成

2.1. メインプログラムの作成

コマンド
FILE_INPUT='src/main/java/MessageUtil.java'
コマンド
cat << EOF > ${FILE_INPUT}
public class MessageUtil {
  private String message;

  public MessageUtil(String message) {
    this.message = message;
  }

  public String printMessage() {
    System.out.println(message);
    return message;
  }

  public String salutationMessage() {
    message = "Hi!" + message;
    System.out.println(message);
    return message;
  }
}
EOF

cat ${FILE_INPUT}

2.2. テストコードの作成

コマンド
FILE_INPUT='src/test/java/TestMessageUtil.java'
コマンド
cat << EOF > ${FILE_INPUT}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestMessageUtil {

  String message = "Robert";
  MessageUtil messageUtil = new MessageUtil(message);

  @Test
  public void testPrintMessage() {
    System.out.println("Inside testPrintMessage()");
    assertEquals(message,messageUtil.printMessage());
  }

  @Test
  public void testSalutationMessage() {
    System.out.println("Inside testSalutationMessage()");
    message = "Hi!" + "Robert";
    assertEquals(message,messageUtil.salutationMessage());
  }
}
EOF

cat ${FILE_INPUT}

2.3. Moven用構成情報の作成

コマンド
FILE_INPUT='pom.xml'
コマンド
cat << EOF > ${FILE_INPUT}
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>messageUtil</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>
  <name>Message Utility Java Sample App</name>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
EOF

cat ${FILE_INPUT}
コマンド
xmllint --noout ${FILE_INPUT}

何も表示されなければOKです。

3. 事後作業

3.1. リポジトリの作成

コマンド
git init

3.2. メールアドレスの指定

変数の設定
GIT_ADDR='<メールアドレス>'
コマンド
git config --global user.email "${GIT_ADDR}"

3.3. ユーザ名の指定

変数の設定
GIT_NAME='Your Name'
コマンド
git config --global user.name "${GIT_NAME}"

3.4. リポジトリへの追加

コマンド
git add .

3.5. 最初のコミット

コマンド
git commit -m 'created repository.'
コマンド
git log

結果(例):

  commit 95d8522773831827702fe9841aff4c33acb7f514
  Author: Your Name <[email protected]>
  Date:   Sun Apr 17 12:38:37 2017 +0000

      created repository.

完了