Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

参考: 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 <you@example.com>
  Date:   Sun Apr 17 12:38:37 2017 +0000

      created repository.

完了

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away