Skip to content

Commit

Permalink
Release 1.7.10.0
Browse files Browse the repository at this point in the history
  • Loading branch information
bennyhuo committed Sep 12, 2022
1 parent 7a7ff48 commit d0a1d98
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 14 deletions.
32 changes: 24 additions & 8 deletions ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,30 @@ dependencies {

# Change Log

## v1.5.31.0 Reflect & Apt & Ksp

* Add support for Kotlin Symbol Processing.
* Add sample on Kotlin Js for KSP.
* Add support for multi-module projects.
* Rework the implementation of collections by removing reflections.
* Limit the deepCopy extension to a new interface DeepCopyable to make it explicit in reflection implementation.
* Upgrade to Kotlin 1.5.31.
## v1.7.10.0

Build with Kotlin 1.7.10.

### Runtime

* Rename `DeepCopiable` to `DeepCopyable` which seems more widely used.

### Reflect

* Make `deepCopy` function available to `DeepCopyable` only.
* [NEW] Add support for Kotlin JS.

### APT & KSP

* Support multi-module project in a unified way.

### KCP

* Generate a copy-like function `deepCopy` for data classes annotated with `@DeepCopy`.
* Generate implementation of `deepCopy` for data classes implemented `DeepCopyable`.
* Add super type `DeepCopyable` to those data classes annotated with `@DeepCopy`.
* Carefully handle manually written `deepCopy` function.
* Add support for Collections.

## v1.5.0 Reflect & Apt

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
kotlin.code.style=official

VERSION_NAME=1.7.10.0-SNAPSHOT
VERSION_NAME=1.7.10.0

GROUP=com.bennyhuo.kotlin

Expand Down
11 changes: 9 additions & 2 deletions kcp-impl/plugin-ide/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import org.jetbrains.intellij.tasks.PublishPluginTask

plugins {
kotlin("jvm")
id("org.jetbrains.intellij") version("1.9.0")
Expand All @@ -12,7 +14,12 @@ intellij {
plugins.set(listOf("Kotlin", "com.intellij.gradle"))
pluginName.set("DeepCopy")
updateSinceUntilBuild.set(false)
// alternativeIdePath props["AndroidStudio.path"]
// alternativeIdePath props["intellijIU.path"]
}

tasks {
withType<PublishPluginTask> {
project.property("intellij.token")?.let {
token.set(it.toString())
}
}
}
6 changes: 3 additions & 3 deletions kcp-impl/plugin-ide/src/main/resources/META-INF/plugin.xml
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
<idea-plugin>
<id>com.bennyhuo.kotlin.deepcopy</id>
<name>DeepCopy for Kotlin Data Class</name>
<version>1.0</version>
<vendor email="bennyhuo@kotliner.cn" url="http://www.bennyhuo.com">Bennyhuo</vendor>
<version>1.7.10.0</version>
<vendor email="bennyhuo@kotliner.cn" url="https://www.bennyhuo.com">Bennyhuo</vendor>

<description><![CDATA[
DeepCopy for Kotlin Data Class make the synthetic 'deepCopy' function available in IntelliJ IDEA.]]>
</description>

<!-- please see https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html for description -->
<idea-version since-build="173.0"/>
<idea-version since-build="211"/>

<!-- please see https://plugins.jetbrains.com/docs/intellij/plugin-compatibility.html
on how to target different products -->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.bennyhuo.kotlin.deepcopy.sample

import com.bennyhuo.kotlin.deepcopy.annotations.DeepCopy

@DeepCopy
data class User(val id: Long, val name: String)

fun main() {
val user = User(0, "bennyhuo")
val deepCopiedUser = user.deepCopy()
}

0 comments on commit d0a1d98

Please sign in to comment.