extract util methods that implemented in Kotlin from projectModel-api module to a new module util-ex, move xmlSerializer.kt (and related code) to object-serializer module

* These methods implemented in Kotlin because because of using kotlin-only features or because Kotlin is a more suitable language. So, cannot be reimplemented in Java and moved to existing `util` module (this module is already bloated, but it is another topic).
* There are modules that depends only `util-ex`, but on on `projectModel-api`.

GitOrigin-RevId: c959763fb5b07abaf783ea4b1991b713bb3a1ad8
This commit is contained in:
Vladimir Krivosheev
2019-05-10 16:08:56 +03:00
committed by intellij-monorepo-bot
parent 31a8083c30
commit fe966298a9
47 changed files with 79 additions and 61 deletions
+1
View File
@@ -625,6 +625,7 @@
<module fileurl="file://$PROJECT_DIR$/platform/usageView/intellij.platform.usageView.iml" filepath="$PROJECT_DIR$/platform/usageView/intellij.platform.usageView.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util/intellij.platform.util.iml" filepath="$PROJECT_DIR$/platform/util/intellij.platform.util.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util-class-loader/intellij.platform.util.classLoader.iml" filepath="$PROJECT_DIR$/platform/util-class-loader/intellij.platform.util.classLoader.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util-ex/intellij.platform.util.ex.iml" filepath="$PROJECT_DIR$/platform/util-ex/intellij.platform.util.ex.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util-rt/intellij.platform.util.rt.iml" filepath="$PROJECT_DIR$/platform/util-rt/intellij.platform.util.rt.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/util/testSrc/intellij.platform.util.tests.iml" filepath="$PROJECT_DIR$/platform/util/testSrc/intellij.platform.util.tests.iml" />
<module fileurl="file://$PROJECT_DIR$/platform/vcs-api/intellij.platform.vcs.iml" filepath="$PROJECT_DIR$/platform/vcs-api/intellij.platform.vcs.iml" />
@@ -12,5 +12,6 @@
<orderEntry type="module" module-name="intellij.platform.projectModel" />
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="module" module-name="intellij.platform.uast" exported="" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" />
</component>
</module>
@@ -13,5 +13,6 @@
<orderEntry type="module" module-name="intellij.platform.core" />
<orderEntry type="module" module-name="intellij.platform.projectModel" />
<orderEntry type="module" module-name="intellij.platform.editor" exported="" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" />
</component>
</module>
@@ -53,6 +53,7 @@ class CommunityRepositoryModules {
"intellij.platform.analysis.impl",
"intellij.platform.builtInServer.impl",
"intellij.platform.core.impl",
"intellij.platform.util.ex",
"intellij.platform.credentialStore",
"intellij.platform.diff.impl",
"intellij.platform.vcs.dvcs.impl",
@@ -12,5 +12,6 @@
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="module" module-name="intellij.platform.ide" />
<orderEntry type="library" name="netty-codec-http" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
</component>
</module>
@@ -23,5 +23,6 @@
<orderEntry type="library" name="lz4-java" level="project" />
<orderEntry type="library" scope="TEST" name="kotlin-test" level="project" />
<orderEntry type="library" name="kotlinx-coroutines-jdk8" level="project" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" />
</component>
</module>
@@ -1,9 +1,8 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.project
import com.intellij.openapi.components.BaseState
import com.intellij.openapi.components.PersistentStateComponent
import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.components.State
import com.intellij.openapi.util.ModificationTracker
import com.intellij.util.xmlb.annotations.Property
@@ -14,7 +13,7 @@ class ExternalStorageConfiguration : BaseState() {
}
@State(name = "ExternalStorageConfigurationManager")
class ExternalStorageConfigurationManagerImpl : PersistentStateComponent<ExternalStorageConfiguration>, ModificationTracker, ExternalStorageConfigurationManager {
internal class ExternalStorageConfigurationManagerImpl : PersistentStateComponent<ExternalStorageConfiguration>, ModificationTracker, ExternalStorageConfigurationManager {
private var state = ExternalStorageConfiguration()
override fun getModificationCount(): Long = state.modificationCount
@@ -15,5 +15,7 @@
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="library" name="JDOM" level="project" />
<orderEntry type="library" name="jetbrains-annotations" level="project" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
</component>
</module>
@@ -18,5 +18,7 @@
<orderEntry type="library" scope="TEST" name="Mocks" level="project" />
<orderEntry type="library" scope="TEST" name="JUnit4" level="project" />
<orderEntry type="library" scope="TEST" name="hamcrest" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" exported="" />
</component>
</module>
@@ -2,8 +2,9 @@
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/src">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/testSnapshots" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
@@ -11,5 +12,9 @@
<orderEntry type="library" name="ion" level="project" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="library" name="kotlin-reflect" level="project" />
<orderEntry type="library" name="JDOM" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.ex" />
<orderEntry type="module" module-name="intellij.platform.core" />
<orderEntry type="module" module-name="intellij.platform.projectModel" />
</component>
</module>
@@ -2,9 +2,6 @@
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$/testSnapshots">
<excludeFolder url="file://$MODULE_DIR$/testSnapshots" />
</content>
<content url="file://$MODULE_DIR$/testSrc">
<sourceFolder url="file://$MODULE_DIR$/testSrc" isTestSource="true" packagePrefix="com.intellij.util.serialization" />
</content>
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.openapi.components
import org.jetbrains.annotations.ApiStatus
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.configurationStore.properties
import com.intellij.openapi.components.*
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.configurationStore.properties
import com.intellij.openapi.components.*
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.configurationStore.properties
import com.intellij.openapi.components.*
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.configurationStore.properties
import com.intellij.openapi.components.*
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.configurationStore.properties
import com.intellij.openapi.components.*
@@ -1,4 +1,5 @@
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
@file:Suppress("PackageDirectoryMismatch")
package com.intellij.configurationStore
import com.intellij.openapi.components.BaseState
@@ -38,5 +38,7 @@
<orderEntry type="library" exported="" name="rd-swing" level="project" />
<orderEntry type="library" exported="" name="rd-core" level="project" />
<orderEntry type="library" scope="RUNTIME" name="netty-handler-proxy" level="project" />
<orderEntry type="module" module-name="intellij.platform.util.ex" exported="" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" />
</component>
</module>
@@ -10,8 +10,6 @@
<orderEntry type="module" module-name="intellij.platform.core" exported="" />
<orderEntry type="module" module-name="intellij.platform.jps.model" exported="" />
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="library" name="kotlin-reflect" level="project" />
<orderEntry type="library" name="JDOM" level="project" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" />
</component>
</module>
@@ -1,38 +0,0 @@
/*
* Copyright 2000-2017 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:JvmName("PathManagerEx")
package com.intellij.openapi.application
import com.intellij.openapi.diagnostic.Logger
import java.io.IOException
import java.nio.file.Path
import java.nio.file.Paths
private val LOG = Logger.getInstance("#com.intellij.openapi.application.PathManagerEx")
/**
* Absolute canonical path to system cache dir.
*/
val appSystemDir: Path by lazy {
val path = Paths.get(PathManager.getSystemPath())
try {
return@lazy path.toRealPath()
}
catch (e: IOException) {
LOG.warn(e)
}
path
}
@@ -14,5 +14,7 @@
<orderEntry type="module" module-name="intellij.platform.jps.model.serialization" exported="" />
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="library" name="kotlinx-coroutines-jdk8" level="project" />
<orderEntry type="module" module-name="intellij.platform.objectSerializer" exported="" />
<orderEntry type="module" module-name="intellij.platform.util.ex" exported="" />
</component>
</module>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="kotlin-stdlib-jdk8" level="project" />
<orderEntry type="library" name="kotlin-reflect" level="project" />
<orderEntry type="module" module-name="intellij.platform.util" />
<orderEntry type="module" module-name="intellij.platform.core" />
<orderEntry type="library" name="JDOM" level="project" />
<orderEntry type="library" name="kotlinx-coroutines-jdk8" level="project" />
</component>
</module>
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
@file:JvmName("Topics")
package com.intellij.application
@@ -0,0 +1,24 @@
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
@file:JvmName("PathManagerEx")
package com.intellij.openapi.application
import com.intellij.openapi.diagnostic.Logger
import java.io.IOException
import java.nio.file.Path
import java.nio.file.Paths
private val LOG = Logger.getInstance("#com.intellij.openapi.application.PathManagerEx")
/**
* Absolute canonical path to system cache dir.
*/
val appSystemDir: Path by lazy {
val path = Paths.get(PathManager.getSystemPath())
try {
return@lazy path.toRealPath()
}
catch (e: IOException) {
LOG.warn(e)
}
path
}
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.util.concurrency
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.util.containers
import com.intellij.util.SmartList
@@ -16,5 +16,6 @@ object DigestUtil {
@JvmStatic
fun sha256() = getMessageDigest("SHA-256")
private fun getMessageDigest(algorithm: String): MessageDigest = MessageDigest.getInstance(algorithm, sunSecurityProvider)
private fun getMessageDigest(algorithm: String): MessageDigest = MessageDigest.getInstance(algorithm,
sunSecurityProvider)
}
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.concurrency
import com.intellij.openapi.diagnostic.ControlFlowException
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.concurrency;
import com.intellij.openapi.Disposable;
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.concurrency;
import com.intellij.util.concurrency.AtomicFieldUpdater;
@@ -1,4 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package org.jetbrains.concurrency
import kotlinx.coroutines.CompletableDeferred