diff --git a/USAGE.md b/USAGE.md
new file mode 100644
index 0000000..7a3629c
--- /dev/null
+++ b/USAGE.md
@@ -0,0 +1,63 @@
+# MoC Java Client Usage Guide
+
+このドキュメントでは、MoC Java クライアントライブラリを Maven と Gradle で使用する方法について説明します。
+
+## Maven での使用方法
+
+Maven プロジェクトで MoC Java クライアントを使用するには、`pom.xml` に以下の依存関係を追加してください:
+
+```xml
+
+ city.makeour
+ moc
+ 1.0.0
+
+```
+
+## Gradle での使用方法
+
+Gradle プロジェクトで MoC Java クライアントを使用するには、`build.gradle` に以下の依存関係を追加してください:
+
+### Gradle (Groovy DSL)
+
+```groovy
+implementation 'city.makeour:moc:1.0.0'
+```
+
+### Gradle (Kotlin DSL)
+
+```kotlin
+implementation("city.makeour:moc:1.0.0")
+```
+
+## 基本的な使用例
+
+```java
+import city.makeour.moc.MocClient;
+
+public class Example {
+ public static void main(String[] args) {
+ // クライアントの初期化
+ MocClient client = new MocClient();
+
+ // 認証情報の設定
+ client.setMocAuthInfo("your-cognito-user-pool-id", "your-cognito-client-id");
+
+ // 認証
+ client.auth("username", "password");
+
+ // エンティティの操作
+ // 詳細は examples ディレクトリのサンプルコードを参照してください
+ }
+}
+```
+
+詳細な使用例については、[examples ディレクトリ](./src/main/java/city/makeour/moc/examples/)を参照してください。
+
+## Maven Central Repository への公開
+
+このライブラリは Maven Central Repository で公開されており、追加のリポジトリ設定なしで使用できます。
+
+## ライセンス
+
+このライブラリは MIT ライセンスの下で公開されています。詳細については、[LICENSE](./LICENSE) ファイルを参照してください。
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..d08d23a
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,94 @@
+plugins {
+ id 'java-library'
+ id 'maven-publish'
+ id 'signing'
+}
+
+group = 'city.makeour'
+version = '1.0.0'
+sourceCompatibility = '17'
+targetCompatibility = '17'
+
+repositories {
+ mavenCentral()
+ maven { url "https://jitpack.io" }
+}
+
+dependencies {
+ testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2'
+ testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.1'
+ testImplementation 'org.junit.jupiter:junit-jupiter-engine:5.10.1'
+ testImplementation 'org.mockito:mockito-junit-jupiter:5.3.1'
+
+ implementation 'software.amazon.awssdk:cognitoidentityprovider:2.31.20'
+ implementation 'com.github.makeOurCity:ngsiv2-java:0.0.2'
+ implementation 'org.bouncycastle:bcprov-jdk15on:1.70'
+ implementation 'org.springframework:spring-webmvc:5.3.23'
+}
+
+java {
+ withJavadocJar()
+ withSourcesJar()
+}
+
+test {
+ useJUnitPlatform()
+ testLogging {
+ events "passed", "skipped", "failed"
+ }
+}
+
+publishing {
+ publications {
+ mavenJava(MavenPublication) {
+ from components.java
+
+ pom {
+ name = 'MoC Java Client'
+ description = 'MakeOurCity (MoC) client library for Java'
+ url = 'https://github.com/makeOurCity/moc-java'
+
+ licenses {
+ license {
+ name = 'MIT License'
+ url = 'https://opensource.org/licenses/MIT'
+ }
+ }
+
+ developers {
+ developer {
+ name = 'MakeOurCity Team'
+ email = 'info@makeour.city'
+ organization = 'MakeOurCity'
+ organizationUrl = 'https://makeour.city'
+ }
+ }
+
+ scm {
+ connection = 'scm:git:git://github.com/makeOurCity/moc-java.git'
+ developerConnection = 'scm:git:ssh://github.com:makeOurCity/moc-java.git'
+ url = 'https://github.com/makeOurCity/moc-java'
+ }
+ }
+ }
+ }
+
+ repositories {
+ maven {
+ name = "OSSRH"
+ def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
+ def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
+ url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
+
+ credentials {
+ username = System.getenv("OSSRH_USERNAME") ?: project.findProperty("ossrhUsername")
+ password = System.getenv("OSSRH_PASSWORD") ?: project.findProperty("ossrhPassword")
+ }
+ }
+ }
+}
+
+signing {
+ required { !version.endsWith('SNAPSHOT') && gradle.taskGraph.hasTask("publish") }
+ sign publishing.publications.mavenJava
+}
diff --git a/pom.xml b/pom.xml
index a9b3f68..f62733e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,14 +4,37 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
-
city.makeour
moc
- 1.0-SNAPSHOT
+ 1.0.0
+ jar
+
+ MoC Java Client
+ MakeOurCity (MoC) client library for Java
+ https://github.com/makeOurCity/moc-java
+
+
+
+ MIT License
+ https://opensource.org/licenses/MIT
+ repo
+
+
+
+
+
+ MakeOurCity Team
+ info@makeour.city
+ MakeOurCity
+ https://makeour.city
+
+
- moc
-
- http://www.example.com
+
+ scm:git:git://github.com/makeOurCity/moc-java.git
+ scm:git:ssh://github.com:makeOurCity/moc-java.git
+ https://github.com/makeOurCity/moc-java
+
UTF-8
@@ -73,6 +96,17 @@
+
+
+ ossrh
+ https://s01.oss.sonatype.org/content/repositories/snapshots
+
+
+ ossrh
+ https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
@@ -122,5 +156,68 @@
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.2.1
+
+
+ attach-sources
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.4.1
+
+
+ attach-javadocs
+
+ jar
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 3.0.1
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+ --pinentry-mode
+ loopback
+
+
+
+
+
+
+
+ org.sonatype.plugins
+ nexus-staging-maven-plugin
+ 1.6.13
+ true
+
+ ossrh
+ https://s01.oss.sonatype.org/
+ true
+
+
+
-
\ No newline at end of file
+
diff --git a/settings.gradle b/settings.gradle
new file mode 100644
index 0000000..89f0c6e
--- /dev/null
+++ b/settings.gradle
@@ -0,0 +1 @@
+rootProject.name = 'moc'