Skip to content

Commit

Permalink
chore: Add Maven coordinates in README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
joc-a committed Aug 3, 2023
1 parent 88805a2 commit 67c3ee6
Show file tree
Hide file tree
Showing 3 changed files with 279 additions and 58 deletions.
175 changes: 165 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,174 @@ Exposed has two flavors of database access: typesafe SQL wrapping DSL and lightw
With Exposed, you have two ways for database access: wrapping DSL and a lightweight DAO. Our official mascot is the cuttlefish, which is well-known for its outstanding mimicry ability that enables it to blend seamlessly into any environment.
Similar to our mascot, Exposed can be used to mimic a variety of database engines and help you build applications without dependencies on any specific database engine and switch between them with very little or no changes.

## Samples
## Supported Databases

Check out the [samples](samples/README.md) for a quick start.
- H2 (versions 2.x; 1.x version is deprecated and will be removed in future releases)
- ![MariaDB](https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white)
- ![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge&logo=mysql&logoColor=white)
- [Oracle](docs/ORACLE.md)
- ![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white) (Also, PostgreSQL using
the [pgjdbc-ng](https://github.com/impossibl/pgjdbc-ng) JDBC driver)
- [SQL Server](docs/SQLServer.md)
- ![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white)

## Dependencies

### Maven Central configuration

Releases of Exposed are available in the Maven Central repository. You can declare this repository in your build script as follows:

#### Maven

```xml
<!-- Versions after 0.30.1 -->
<!-- Versions before 0.30.1 is unavailable for now-->
<repositories>
<repository>
<id>mavenCentral</id>
<name>mavenCentral</name>
<url>https://repo1.maven.org/maven2/</url>
</repository>
</repositories>
```

## Supported Databases
#### Gradle Groovy and Kotlin DSL

```kotlin
repositories {
// Versions after 0.30.1
// Versions before 0.30.1 is unavailable for now
mavenCentral()
}
```

### Exposed modules

`Exposed` consists of the following modules:

* exposed-core - base module, which contains both DSL api along with mapping
* exposed-crypt - provides additional column types to store encrypted data in DB and encode/decode it on client-side
* exposed-dao - DAO api
* exposed-java-time - date-time extensions based on Java8 Time API
* exposed-jdbc - transport level implementation based on Java JDBC API
* exposed-jodatime - date-time extensions based on JodaTime library
* exposed-json - JSON and JSONB data type extensions
* exposed-kotlin-datetime - date-time extensions based on kotlinx-datetime
* exposed-money - extensions to support MonetaryAmount from "javax.money:money-api"
* exposed-spring-boot-starter - a starter for [Spring Boot](https://spring.io/projects/spring-boot) to utilize Exposed as the ORM instead
of [Hibernate](https://hibernate.org/)

```xml

<dependencies>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-core</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-crypt</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-dao</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-java-time</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-jdbc</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-jodatime</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-json</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-kotlin-datetime</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-money</artifactId>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-spring-boot-starter</artifactId>
<version>0.42.0</version>
</dependency>
</dependencies>

```

#### Gradle Groovy

```groovy
dependencies {
implementation 'org.jetbrains.exposed:exposed-core:0.42.0'
implementation 'org.jetbrains.exposed:exposed-crypt:0.42.0'
implementation 'org.jetbrains.exposed:exposed-dao:0.42.0'
implementation 'org.jetbrains.exposed:exposed-jdbc:0.42.0'
implementation 'org.jetbrains.exposed:exposed-jodatime:0.42.0'
// or
implementation 'org.jetbrains.exposed:exposed-java-time:0.42.0'
// or
implementation 'org.jetbrains.exposed:exposed-kotlin-datetime:0.42.0'
implementation 'org.jetbrains.exposed:exposed-json:0.42.0'
implementation 'org.jetbrains.exposed:exposed-money:0.42.0'
implementation 'org.jetbrains.exposed:exposed-spring-boot-starter:0.42.0'
}
```

#### Gradle Kotlin DSL

In `build.gradle.kts`:

```kotlin
val exposedVersion: String by project
dependencies {
implementation("org.jetbrains.exposed:exposed-core:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-crypt:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-dao:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-jdbc:$exposedVersion")

implementation("org.jetbrains.exposed:exposed-jodatime:$exposedVersion")
// or
implementation("org.jetbrains.exposed:exposed-java-time:$exposedVersion")
// or
implementation("org.jetbrains.exposed:exposed-kotlin-datetime:$exposedVersion")

implementation("org.jetbrains.exposed:exposed-json:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-money:$exposedVersion")
implementation("org.jetbrains.exposed:exposed-spring-boot-starter:$exposedVersion")
}
```

- ![Postgres](https://img.shields.io/badge/postgres-%23316192.svg?style=for-the-badge&logo=postgresql&logoColor=white) (Also, PostgreSQL using the [pgjdbc-ng](https://github.com/impossibl/pgjdbc-ng) JDBC driver)
- ![MySQL](https://img.shields.io/badge/mysql-%2300f.svg?style=for-the-badge&logo=mysql&logoColor=white)
- ![MariaDB](https://img.shields.io/badge/MariaDB-003545?style=for-the-badge&logo=mariadb&logoColor=white)
- ![SQLite](https://img.shields.io/badge/sqlite-%2307405e.svg?style=for-the-badge&logo=sqlite&logoColor=white)
- H2 (versions 2.x; 1.x version is deprecated and will be removed in future releases)
- [Oracle](docs/ORACLE.md)
- [SQL Server](docs/SQLServer.md)
and in `gradle.properties`

```
exposedVersion=0.42.0
```

## Samples

Check out the [samples](samples/README.md) for a quick start.

## Links

Expand Down
8 changes: 4 additions & 4 deletions documentation-website/Writerside/topics/Getting-Started.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-core</artifactId>
<version>0.40.1</version>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-dao</artifactId>
<version>0.40.1</version>
<version>0.42.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.exposed</groupId>
<artifactId>exposed-jdbc</artifactId>
<version>0.40.1</version>
<version>0.42.0</version>
</dependency>
</dependencies>
]]>
Expand All @@ -37,7 +37,7 @@
<tab title="Gradle Kotlin Script">
<code-block lang="kotlin">
<![CDATA[
val exposedVersion: String = "0.40.1"
val exposedVersion: String = "0.42.0"
dependencies {
implementation("org.jetbrains.exposed:exposed-core", exposedVersion)
Expand Down
Loading

0 comments on commit 67c3ee6

Please sign in to comment.