remove markups

This commit is contained in:
InsanusMokrassar 2020-09-09 13:25:43 +06:00
parent 272df545a3
commit cf1aa3ae0f
16 changed files with 1 additions and 524 deletions

View File

@ -1,84 +0,0 @@
buildscript {
repositories {
mavenLocal()
jcenter()
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$gradle_bintray_plugin_version"
}
}
plugins {
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
}
project.version = "$core_version"
project.group = "com.insanusmokrassar"
apply from: "publish.gradle"
repositories {
mavenLocal()
jcenter()
mavenCentral()
maven { url "https://kotlin.bintray.com/kotlinx" }
}
kotlin {
jvm()
js (BOTH) {
browser()
nodejs()
}
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib')
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialisation_core_version"
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
api "com.insanusmokrassar:postssystem.core.api:$core_version"
} else {
api projectByName("postssystem.core.api")
}
api "com.soywiz.korlibs.klock:klock:$klockVersion"
api "com.benasher44:uuid:$uuidVersion"
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmMain {
dependencies {
implementation kotlin('stdlib-jdk8')
}
}
jvmTest {
dependencies {
implementation kotlin('test-junit')
}
}
jsMain {
dependencies {
implementation kotlin('stdlib-js')
}
}
jsTest {
dependencies {
implementation kotlin('test-js')
implementation kotlin('test-junit')
}
}
}
}

View File

@ -1,60 +0,0 @@
apply plugin: 'maven-publish'
task javadocsJar(type: Jar) {
classifier = 'javadoc'
}
afterEvaluate {
project.publishing.publications.all {
// rename artifacts
groupId "${project.group}"
if (it.name.contains('kotlinMultiplatform')) {
artifactId = "${project.name}"
} else {
artifactId = "${project.name}-$name"
}
}
}
publishing {
publications.all {
artifact javadocsJar
pom {
description = "PostsSystem Core Repos utility subproject"
name = "PostsSystem Core Repos"
url = "https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore"
scm {
developerConnection = "scm:git:[fetch=]https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git[push=]https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git"
url = "https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git"
}
developers {
developer {
id = "InsanusMokrassar"
name = "Ovsiannikov Aleksei"
email = "ovsyannikov.alexey95@gmail.com"
}
developer {
id = "mi-ast"
name = "Michail Astafiev"
email = "astaf65@gmail.com"
}
}
licenses {
license {
name = "Apache Software License 2.0"
url = "https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore/src/master/LICENSE"
}
}
}
}
}

View File

@ -1,55 +0,0 @@
apply plugin: 'com.jfrog.bintray'
apply from: "maven.publish.gradle"
bintray {
user = project.hasProperty('BINTRAY_USER') ? project.property('BINTRAY_USER') : System.getenv('BINTRAY_USER')
key = project.hasProperty('BINTRAY_KEY') ? project.property('BINTRAY_KEY') : System.getenv('BINTRAY_KEY')
filesSpec {
from "${buildDir}/publications/"
eachFile {
String directorySubname = it.getFile().parentFile.name
if (it.getName() == "module.json") {
if (directorySubname == "kotlinMultiplatform") {
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.module")
} else {
it.setPath("${project.name}-${directorySubname}/${project.version}/${project.name}-${directorySubname}-${project.version}.module")
}
} else {
if (directorySubname == "kotlinMultiplatform" && it.getName() == "pom-default.xml") {
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.pom")
} else {
it.exclude()
}
}
}
into "${project.group}".replace(".", "/")
}
pkg {
repo = "InsanusMokrassar"
name = "${project.name}"
vcsUrl = "https://github.com/PostsSystem/PostsSystemCore"
licenses = ["Apache-2.0"]
version {
name = "${project.version}"
released = new Date()
vcsTag = "${project.version}"
gpg {
sign = true
passphrase = project.hasProperty('signing.gnupg.passphrase') ? project.property('signing.gnupg.passphrase') : System.getenv('signing.gnupg.passphrase')
}
}
}
}
bintrayUpload.doFirst {
publications = publishing.publications.collect {
if (it.name.contains('kotlinMultiplatform')) {
null
} else {
it.name
}
} - null
}
bintrayUpload.dependsOn publishToMavenLocal

View File

@ -1 +0,0 @@
{"bintrayConfig":{"repo":"InsanusMokrassar","packageName":"${project.name}","packageVcs":"https://github.com/PostsSystem/PostsSystemCore"},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore/src/master/LICENSE"}],"mavenConfig":{"name":"PostsSystem Markups Core subsystem","description":"PostsSystem Markups Core subsystem with base things for future markups modules","url":"https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore","vcsUrl":"https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"}

View File

@ -1,18 +0,0 @@
package com.insanusmokrassar.postssystem.markups.core
//abstract class AbstractMarkupPlugin<MarkupTarget>(
// @Suppress("MemberVisibilityCanBePrivate")
// protected val postsRepo: ReadPostsRepo,
// @Suppress("MemberVisibilityCanBePrivate")
// protected val postsContentRepo: ReadContentRepo
//) : MarkupPlugin<MarkupTarget> {
// override suspend fun drawMarkupBuilder(on: MarkupTarget, postId: PostId) {
// val post = postsRepo.getPostById(postId) ?: return
// val contents = post.content.mapNotNull {
// postsContentRepo.getContentById(it)
// }
// drawMarkupBuilder(on, post, contents)
// }
//
// abstract suspend fun drawMarkupBuilder(target: MarkupTarget, forPost: RegisteredPost, content: List<RegisteredContent>)
//}

View File

@ -1,25 +0,0 @@
package com.insanusmokrassar.postssystem.markups.core
typealias MarkupPluginName = String
typealias MarkupPluginIdentifier = String
/**
* That is the plugin for platform, which is able to be drawn on the [MarkupTarget].
*
* * Plugin could be some Telegram plugin
* * [MarkupTarget] could be web.
*/
interface MarkupPlugin {
/**
* This name will be used in `select`-questions on site
*/
val pluginName: MarkupPluginName
val pluginId: MarkupPluginIdentifier
get() = pluginName
/**
* Link to icon which will be used for links onto this plugin
*/
val iconLink: String?
}

View File

@ -1,47 +0,0 @@
package com.insanusmokrassar.postssystem.markups.core
import com.insanusmokrassar.postssystem.markups.core.utils.ListBuilder
import com.insanusmokrassar.postssystem.utils.common.pagination.*
import com.insanusmokrassar.postssystem.utils.repos.ReadStandardCRUDRepo
import kotlin.math.min
abstract class MarkupsSystem(
protected val plugins: List<MarkupPlugin>
) : ReadStandardCRUDRepo<MarkupPlugin, MarkupPluginIdentifier> {
private val pluginsMap: Map<MarkupPluginIdentifier, MarkupPlugin> = plugins.associateBy { it.pluginId }
override suspend fun contains(id: MarkupPluginIdentifier): Boolean = pluginsMap.keys.contains(id)
override suspend fun getById(id: MarkupPluginIdentifier): MarkupPlugin? = pluginsMap[id]
override suspend fun getByPagination(pagination: Pagination): PaginationResult<MarkupPlugin> {
if (pagination.firstIndex > plugins.lastIndex) {
return emptyList<MarkupPlugin>().createPaginationResult(
pagination,
plugins.size.toLong()
)
}
val lastExclusiveIndex = min(pagination.lastExclusiveIndex, plugins.size)
return plugins.subList(pagination.firstIndex, lastExclusiveIndex).createPaginationResult(
pagination,
plugins.size.toLong()
)
}
fun drawPluginsNamedList(
listBuilder: ListBuilder
) {
listBuilder.createLinkedItems(
plugins.map {
it.pluginName to it.pluginId
}
)
}
fun drawPluginsIconsList(
listBuilder: ListBuilder
) {
listBuilder.createLinkedIconItems(
plugins.mapNotNull {
(it.iconLink ?: return@mapNotNull null) to it.pluginId
}
)
}
}

View File

@ -1,18 +0,0 @@
package com.insanusmokrassar.postssystem.markups.core.utils
import com.insanusmokrassar.postssystem.markups.core.MarkupPluginIdentifier
import com.insanusmokrassar.postssystem.markups.core.MarkupPluginName
typealias TitledListItem = Pair<MarkupPluginName, MarkupPluginIdentifier>
typealias IconLinkListItem = Pair<String, MarkupPluginIdentifier>
interface ListBuilder {
/**
* Accept the list of titled items with their ids
*/
fun createLinkedItems(data: List<TitledListItem>)
/**
* Accept the list of items with their icons links and ids
*/
fun createLinkedIconItems(data: List<IconLinkListItem>)
}

View File

@ -1,83 +0,0 @@
buildscript {
repositories {
mavenLocal()
jcenter()
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:$gradle_bintray_plugin_version"
}
}
plugins {
id "org.jetbrains.kotlin.multiplatform" version "$kotlin_version"
id "org.jetbrains.kotlin.plugin.serialization" version "$kotlin_version"
}
project.version = "$core_version"
project.group = "com.insanusmokrassar"
apply from: "publish.gradle"
repositories {
mavenLocal()
jcenter()
mavenCentral()
maven { url "https://kotlin.bintray.com/kotlinx" }
}
kotlin {
jvm()
js (BOTH) {
browser()
nodejs()
}
sourceSets {
commonMain {
dependencies {
implementation kotlin('stdlib')
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialisation_core_version"
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
api "com.insanusmokrassar:postssystem.markups.core:$core_version"
} else {
api projectByName("postssystem.markups.commons")
}
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmMain {
dependencies {
implementation kotlin('stdlib-jdk8')
api "org.jetbrains.kotlinx:kotlinx-html-jvm:$kotlinx_html_version"
}
}
jvmTest {
dependencies {
implementation kotlin('test-junit')
}
}
jsMain {
dependencies {
implementation kotlin('stdlib-js')
api "org.jetbrains.kotlinx:kotlinx-html-js:$kotlinx_html_version"
}
}
jsTest {
dependencies {
implementation kotlin('test-js')
implementation kotlin('test-junit')
}
}
}
}

View File

@ -1 +0,0 @@
kotlinx_html_version=0.7.1

View File

@ -1,60 +0,0 @@
apply plugin: 'maven-publish'
task javadocsJar(type: Jar) {
classifier = 'javadoc'
}
afterEvaluate {
project.publishing.publications.all {
// rename artifacts
groupId "${project.group}"
if (it.name.contains('kotlinMultiplatform')) {
artifactId = "${project.name}"
} else {
artifactId = "${project.name}-$name"
}
}
}
publishing {
publications.all {
artifact javadocsJar
pom {
description = "PostsSystem Core Repos utility subproject"
name = "PostsSystem Core Repos"
url = "https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore"
scm {
developerConnection = "scm:git:[fetch=]https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git[push=]https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git"
url = "https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git"
}
developers {
developer {
id = "InsanusMokrassar"
name = "Ovsiannikov Aleksei"
email = "ovsyannikov.alexey95@gmail.com"
}
developer {
id = "mi-ast"
name = "Michail Astafiev"
email = "astaf65@gmail.com"
}
}
licenses {
license {
name = "Apache Software License 2.0"
url = "https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore/src/master/LICENSE"
}
}
}
}
}

View File

@ -1,55 +0,0 @@
apply plugin: 'com.jfrog.bintray'
apply from: "maven.publish.gradle"
bintray {
user = project.hasProperty('BINTRAY_USER') ? project.property('BINTRAY_USER') : System.getenv('BINTRAY_USER')
key = project.hasProperty('BINTRAY_KEY') ? project.property('BINTRAY_KEY') : System.getenv('BINTRAY_KEY')
filesSpec {
from "${buildDir}/publications/"
eachFile {
String directorySubname = it.getFile().parentFile.name
if (it.getName() == "module.json") {
if (directorySubname == "kotlinMultiplatform") {
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.module")
} else {
it.setPath("${project.name}-${directorySubname}/${project.version}/${project.name}-${directorySubname}-${project.version}.module")
}
} else {
if (directorySubname == "kotlinMultiplatform" && it.getName() == "pom-default.xml") {
it.setPath("${project.name}/${project.version}/${project.name}-${project.version}.pom")
} else {
it.exclude()
}
}
}
into "${project.group}".replace(".", "/")
}
pkg {
repo = "InsanusMokrassar"
name = "${project.name}"
vcsUrl = "https://github.com/PostsSystem/PostsSystemCore"
licenses = ["Apache-2.0"]
version {
name = "${project.version}"
released = new Date()
vcsTag = "${project.version}"
gpg {
sign = true
passphrase = project.hasProperty('signing.gnupg.passphrase') ? project.property('signing.gnupg.passphrase') : System.getenv('signing.gnupg.passphrase')
}
}
}
}
bintrayUpload.doFirst {
publications = publishing.publications.collect {
if (it.name.contains('kotlinMultiplatform')) {
null
} else {
it.name
}
} - null
}
bintrayUpload.dependsOn publishToMavenLocal

View File

@ -1 +0,0 @@
{"bintrayConfig":{"repo":"InsanusMokrassar","packageName":"${project.name}","packageVcs":"https://github.com/PostsSystem/PostsSystemCore"},"licenses":[{"id":"Apache-2.0","title":"Apache Software License 2.0","url":"https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore/src/master/LICENSE"}],"mavenConfig":{"name":"PostsSystem Markups Core subsystem","description":"PostsSystem Markups Core subsystem with base things for future markups modules","url":"https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore","vcsUrl":"https://git.insanusmokrassar.com/PostsSystem/PostsSystemCore.git","developers":[{"id":"InsanusMokrassar","name":"Ovsiannikov Aleksei","eMail":"ovsyannikov.alexey95@gmail.com"}]},"type":"Multiplatform"}

View File

@ -1,6 +0,0 @@
package com.insanusmokrassar.postssystem.markups.html
//abstract class HtmlMarkupPlugin(
// postsRepo: ReadPostsRepo,
// postsContentRepo: ReadContentRepo
//) : AbstractMarkupPlugin<FlowContent>(postsRepo, postsContentRepo)

View File

@ -1,6 +0,0 @@
package com.insanusmokrassar.postssystem.markups.html
//abstract class HtmlMarkupPlugin(
// postsRepo: ReadPostsRepo,
// postsContentRepo: ReadContentRepo
//) : AbstractMarkupPlugin<FlowContent>(postsRepo, postsContentRepo)

View File

@ -27,10 +27,7 @@ String[] includes = [
':publishing:exposed',
':publishing:ktor:common',
':publishing:ktor:client',
':publishing:ktor:server',
':markups:commons',
':markups:html'
':publishing:ktor:server'
]