[K/JS] Reexport exported declarations in a proxy module file with per-file compilation
This commit is contained in:
+125
-65
@@ -6,10 +6,10 @@
|
||||
package org.jetbrains.kotlin.ir.backend.js.ic
|
||||
|
||||
import org.jetbrains.kotlin.backend.common.serialization.cityHash64
|
||||
import org.jetbrains.kotlin.backend.common.serialization.cityHash64String
|
||||
import org.jetbrains.kotlin.ir.backend.js.transformers.irToJs.*
|
||||
import org.jetbrains.kotlin.protobuf.CodedInputStream
|
||||
import org.jetbrains.kotlin.protobuf.CodedOutputStream
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.butIf
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.runIf
|
||||
import java.io.File
|
||||
|
||||
@@ -22,38 +22,50 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
private const val CACHED_FILE_D_TS = "file.d.ts"
|
||||
}
|
||||
|
||||
class CachedFileInfo(
|
||||
val moduleArtifact: ModuleArtifact,
|
||||
val fileArtifact: SrcFileArtifact,
|
||||
val isExportFileCachedInfo: Boolean = false,
|
||||
) : CacheInfo {
|
||||
var dtsHash: Long? = null
|
||||
sealed class CachedFileInfo(val moduleArtifact: ModuleArtifact, moduleHeader: JsIrModuleHeader?) : CacheInfo {
|
||||
var crossFileReferencesHash: ICHash = ICHash()
|
||||
var exportFileCachedInfo: CachedFileInfo? = null
|
||||
override lateinit var jsIrHeader: JsIrModuleHeader
|
||||
final override lateinit var jsIrHeader: JsIrModuleHeader
|
||||
|
||||
constructor(
|
||||
jsIrModuleHeader: JsIrModuleHeader,
|
||||
moduleArtifact: ModuleArtifact,
|
||||
fileArtifact: SrcFileArtifact,
|
||||
isExportFileCachedInfo: Boolean = false,
|
||||
tsDeclarationsHash: Long? = null,
|
||||
) : this(moduleArtifact, fileArtifact, isExportFileCachedInfo) {
|
||||
jsIrHeader = jsIrModuleHeader
|
||||
dtsHash = tsDeclarationsHash
|
||||
init {
|
||||
if (moduleHeader != null) jsIrHeader = moduleHeader
|
||||
}
|
||||
|
||||
val moduleHeaderArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(JS_MODULE_HEADER) }
|
||||
|
||||
val jsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(if (isExportFileCachedInfo) CACHED_EXPORT_FILE_JS else CACHED_FILE_JS) }
|
||||
val dtsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { runIf(isExportFileCachedInfo) { getArtifactWithName(CACHED_FILE_D_TS) } }
|
||||
val sourceMapFileArtifact by lazy(LazyThreadSafetyMode.NONE) { runIf(!isExportFileCachedInfo) { getArtifactWithName(CACHED_FILE_JS_MAP) } }
|
||||
sealed class SerializableCachedFileInfo(
|
||||
moduleArtifact: ModuleArtifact,
|
||||
val fileArtifact: SrcFileArtifact,
|
||||
moduleHeader: JsIrModuleHeader?
|
||||
) : CachedFileInfo(moduleArtifact, moduleHeader) {
|
||||
fun getArtifactWithName(name: String): File? = moduleArtifact.artifactsDir?.let { File(it, "$filePrefix.$name") }
|
||||
private val filePrefix by lazy(LazyThreadSafetyMode.NONE) { fileArtifact.srcFilePath.run { "${substringAfterLast('/')}.${cityHash64()}" } }
|
||||
}
|
||||
|
||||
private fun getArtifactWithName(name: String): File? = moduleArtifact.artifactsDir?.let { File(it, "$filePrefix.$name") }
|
||||
class MainFileCachedInfo(moduleArtifact: ModuleArtifact, fileArtifact: SrcFileArtifact, moduleHeader: JsIrModuleHeader? = null) :
|
||||
SerializableCachedFileInfo(moduleArtifact, fileArtifact, moduleHeader) {
|
||||
var exportFileCachedInfo: ExportFileCachedInfo? = null
|
||||
|
||||
private val filePrefix by lazy(LazyThreadSafetyMode.NONE) {
|
||||
val pathHash = fileArtifact.srcFilePath.cityHash64String()
|
||||
"${fileArtifact.srcFilePath.substringAfterLast('/')}.$pathHash"
|
||||
val jsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(CACHED_FILE_JS) }
|
||||
val moduleHeaderArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(JS_MODULE_HEADER) }
|
||||
val sourceMapFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(CACHED_FILE_JS_MAP) }
|
||||
}
|
||||
|
||||
class ExportFileCachedInfo(
|
||||
moduleArtifact: ModuleArtifact,
|
||||
fileArtifact: SrcFileArtifact,
|
||||
moduleHeader: JsIrModuleHeader? = null,
|
||||
var tsDeclarationsHash: Long? = null
|
||||
) : SerializableCachedFileInfo(moduleArtifact, fileArtifact, moduleHeader) {
|
||||
val jsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(CACHED_EXPORT_FILE_JS) }
|
||||
val dtsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(CACHED_FILE_D_TS) }
|
||||
}
|
||||
|
||||
class ModuleProxyFileCachedInfo(moduleArtifact: ModuleArtifact, moduleHeader: JsIrModuleHeader? = null) :
|
||||
CachedFileInfo(moduleArtifact, moduleHeader) {
|
||||
val jsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(CACHED_FILE_JS) }
|
||||
val dtsFileArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(CACHED_FILE_D_TS) }
|
||||
val moduleHeaderArtifact by lazy(LazyThreadSafetyMode.NONE) { getArtifactWithName(JS_MODULE_HEADER) }
|
||||
|
||||
private fun getArtifactWithName(name: String): File? = moduleArtifact.artifactsDir?.let { File(it, "entry.$name") }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,13 +78,14 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
private fun JsIrProgramFragment.getExportFragmentExternalName(moduleArtifact: ModuleArtifact) =
|
||||
moduleFragmentToExternalName.getExternalNameForExporterFile(name, packageFqn, moduleArtifact.moduleExternalName)
|
||||
|
||||
private fun JsIrProgramFragment.asIrModuleHeader(moduleName: String): JsIrModuleHeader {
|
||||
private fun JsIrProgramFragment.asIrModuleHeader(moduleName: String, reexportedIn: String? = null): JsIrModuleHeader {
|
||||
return JsIrModuleHeader(
|
||||
moduleName = moduleName,
|
||||
externalModuleName = moduleName,
|
||||
definitions = definitions,
|
||||
nameBindings = nameBindings.mapValues { v -> v.value.toString() },
|
||||
optionalCrossModuleImports = optionalCrossModuleImports,
|
||||
reexportedInModuleWithName = reexportedIn,
|
||||
associatedModule = null
|
||||
)
|
||||
}
|
||||
@@ -80,15 +93,20 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
private fun SrcFileArtifact.loadJsIrModuleHeaders(moduleArtifact: ModuleArtifact) = with(loadJsIrFragments()) {
|
||||
LoadedJsIrModuleHeaders(
|
||||
mainFragment.run { asIrModuleHeader(getMainFragmentExternalName(moduleArtifact)) },
|
||||
exportFragment?.run { asIrModuleHeader(mainFragment.getExportFragmentExternalName(moduleArtifact)) },
|
||||
exportFragment?.run { asIrModuleHeader(mainFragment.getExportFragmentExternalName(moduleArtifact), moduleArtifact.moduleExternalName) },
|
||||
)
|
||||
}
|
||||
|
||||
private fun CodedInputStream.loadSingleCachedFileInfo(cachedFileInfo: CachedFileInfo) = cachedFileInfo.also {
|
||||
private fun <T : CachedFileInfo> CodedInputStream.loadSingleCachedFileInfo(cachedFileInfo: T): T = cachedFileInfo.also {
|
||||
val moduleName = readString()
|
||||
var reexportedIn: String? = null
|
||||
|
||||
it.crossFileReferencesHash = ICHash.fromProtoStream(this)
|
||||
it.dtsHash = runIf(readBool()) { readInt64() }
|
||||
|
||||
if (it is CachedFileInfo.ExportFileCachedInfo) {
|
||||
it.tsDeclarationsHash = runIf(readBool()) { readInt64() }
|
||||
reexportedIn = cachedFileInfo.moduleArtifact.moduleExternalName
|
||||
}
|
||||
|
||||
val (definitions, nameBindings, optionalCrossModuleImports) = fetchJsIrModuleHeaderNames()
|
||||
|
||||
@@ -98,15 +116,16 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
definitions = definitions,
|
||||
nameBindings = nameBindings,
|
||||
optionalCrossModuleImports = optionalCrossModuleImports,
|
||||
associatedModule = null
|
||||
reexportedInModuleWithName = reexportedIn,
|
||||
associatedModule = null,
|
||||
)
|
||||
}
|
||||
|
||||
private fun <T> CachedFileInfo.readModuleHeaderCache(f: CodedInputStream.() -> T): T? = moduleHeaderArtifact?.useCodedInputIfExists(f)
|
||||
private fun <T> CachedFileInfo.MainFileCachedInfo.readModuleHeaderCache(f: CodedInputStream.() -> T): T? =
|
||||
moduleHeaderArtifact?.useCodedInputIfExists(f)
|
||||
|
||||
private fun ModuleArtifact.fetchFileInfoFor(fileArtifact: SrcFileArtifact): List<CachedFileInfo>? {
|
||||
val moduleArtifact = this
|
||||
val mainFileCachedFileInfo = CachedFileInfo(moduleArtifact, fileArtifact)
|
||||
val mainFileCachedFileInfo = CachedFileInfo.MainFileCachedInfo(this, fileArtifact)
|
||||
|
||||
return mainFileCachedFileInfo.readModuleHeaderCache {
|
||||
mainFileCachedFileInfo.run {
|
||||
@@ -117,48 +136,66 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
}
|
||||
}
|
||||
|
||||
private fun CodedInputStream.fetchFileInfoForExportedPart(mainCachedFileInfo: CachedFileInfo): CachedFileInfo? {
|
||||
private fun ModuleArtifact.fetchModuleProxyFileInfo(): CachedFileInfo.ModuleProxyFileCachedInfo? {
|
||||
val mainFileCachedFileInfo = CachedFileInfo.ModuleProxyFileCachedInfo(this)
|
||||
return mainFileCachedFileInfo.moduleHeaderArtifact?.useCodedInputIfExists { loadSingleCachedFileInfo(mainFileCachedFileInfo) }
|
||||
}
|
||||
|
||||
private fun CodedInputStream.fetchFileInfoForExportedPart(mainCachedFileInfo: CachedFileInfo.MainFileCachedInfo): CachedFileInfo.ExportFileCachedInfo? {
|
||||
return ifTrue {
|
||||
loadSingleCachedFileInfo(
|
||||
CachedFileInfo(
|
||||
mainCachedFileInfo.moduleArtifact,
|
||||
mainCachedFileInfo.fileArtifact,
|
||||
isExportFileCachedInfo = true
|
||||
)
|
||||
CachedFileInfo.ExportFileCachedInfo(mainCachedFileInfo.moduleArtifact, mainCachedFileInfo.fileArtifact)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun CodedOutputStream.commitSingleFileInfo(cachedFileInfo: CachedFileInfo) {
|
||||
private fun CodedOutputStream.commitSingleFileInfo(cachedFileInfo: CachedFileInfo.SerializableCachedFileInfo) {
|
||||
writeStringNoTag(cachedFileInfo.jsIrHeader.externalModuleName)
|
||||
cachedFileInfo.crossFileReferencesHash.toProtoStream(this)
|
||||
ifNotNull(cachedFileInfo.dtsHash, ::writeInt64NoTag)
|
||||
if (cachedFileInfo is CachedFileInfo.ExportFileCachedInfo) {
|
||||
ifNotNull(cachedFileInfo.tsDeclarationsHash, ::writeInt64NoTag)
|
||||
}
|
||||
commitJsIrModuleHeaderNames(cachedFileInfo.jsIrHeader)
|
||||
}
|
||||
|
||||
private fun CachedFileInfo.commitFileInfo() = runIf(!isExportFileCachedInfo) {
|
||||
moduleHeaderArtifact?.useCodedOutput {
|
||||
ifNotNull(exportFileCachedInfo) { commitSingleFileInfo(it) }
|
||||
commitSingleFileInfo(this@commitFileInfo)
|
||||
private fun CachedFileInfo.commitFileInfo() = when (this) {
|
||||
is CachedFileInfo.MainFileCachedInfo -> {
|
||||
moduleHeaderArtifact?.useCodedOutput {
|
||||
ifNotNull(exportFileCachedInfo) { commitSingleFileInfo(it) }
|
||||
commitSingleFileInfo(this@commitFileInfo)
|
||||
}
|
||||
}
|
||||
is CachedFileInfo.ModuleProxyFileCachedInfo -> {
|
||||
moduleHeaderArtifact?.useCodedOutput {
|
||||
writeStringNoTag(jsIrHeader.externalModuleName)
|
||||
crossFileReferencesHash.toProtoStream(this)
|
||||
commitJsIrModuleHeaderNames(jsIrHeader)
|
||||
}
|
||||
}
|
||||
is CachedFileInfo.ExportFileCachedInfo -> {}
|
||||
}
|
||||
|
||||
private fun ModuleArtifact.generateModuleProxyFileCachedInfo(): CachedFileInfo {
|
||||
return CachedFileInfo.ModuleProxyFileCachedInfo(
|
||||
this,
|
||||
generateProxyIrModuleWith(moduleExternalName, moduleExternalName).makeModuleHeader()
|
||||
)
|
||||
}
|
||||
|
||||
private fun ModuleArtifact.loadFileInfoFor(fileArtifact: SrcFileArtifact): List<CachedFileInfo> {
|
||||
val moduleArtifact = this
|
||||
val headers = fileArtifact.loadJsIrModuleHeaders(moduleArtifact)
|
||||
val headers = fileArtifact.loadJsIrModuleHeaders(this)
|
||||
|
||||
val mainCachedFileInfo = CachedFileInfo(headers.mainHeader, this, fileArtifact)
|
||||
val mainCachedFileInfo = CachedFileInfo.MainFileCachedInfo(this, fileArtifact, headers.mainHeader)
|
||||
|
||||
if (headers.exportHeader != null) {
|
||||
val tsDeclarationsHash = fileArtifact.loadJsIrFragments().exportFragment?.dts?.raw?.cityHash64()
|
||||
val cachedExportFileInfo = mainCachedFileInfo.readModuleHeaderCache { fetchFileInfoForExportedPart(mainCachedFileInfo) }
|
||||
mainCachedFileInfo.exportFileCachedInfo = if (cachedExportFileInfo?.dtsHash != tsDeclarationsHash) {
|
||||
CachedFileInfo(
|
||||
headers.exportHeader,
|
||||
moduleArtifact,
|
||||
mainCachedFileInfo.exportFileCachedInfo = if (cachedExportFileInfo?.tsDeclarationsHash != tsDeclarationsHash) {
|
||||
CachedFileInfo.ExportFileCachedInfo(
|
||||
this,
|
||||
fileArtifact,
|
||||
tsDeclarationsHash = tsDeclarationsHash,
|
||||
isExportFileCachedInfo = true
|
||||
headers.exportHeader,
|
||||
tsDeclarationsHash,
|
||||
)
|
||||
} else {
|
||||
cachedExportFileInfo
|
||||
@@ -169,7 +206,11 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
}
|
||||
|
||||
private val CachedFileInfo.cachedFiles: CachedFileArtifacts?
|
||||
get() = jsFileArtifact?.let { CachedFileArtifacts(it, sourceMapFileArtifact, dtsFileArtifact) }
|
||||
get() = when (this) {
|
||||
is CachedFileInfo.MainFileCachedInfo -> jsFileArtifact?.let { CachedFileArtifacts(it, sourceMapFileArtifact, null) }
|
||||
is CachedFileInfo.ExportFileCachedInfo -> jsFileArtifact?.let { CachedFileArtifacts(it, null, dtsFileArtifact) }
|
||||
is CachedFileInfo.ModuleProxyFileCachedInfo -> jsFileArtifact?.let { CachedFileArtifacts(it, null, dtsFileArtifact) }
|
||||
}
|
||||
|
||||
override fun getMainModuleAndDependencies(cacheInfo: List<CachedFileInfo>) = null to cacheInfo
|
||||
|
||||
@@ -188,23 +229,40 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
} ?: compilationOutputs
|
||||
|
||||
override fun loadJsIrModule(cacheInfo: CachedFileInfo): JsIrModule {
|
||||
if (cacheInfo !is CachedFileInfo.SerializableCachedFileInfo) {
|
||||
return generateProxyIrModuleWith(cacheInfo.jsIrHeader.externalModuleName, cacheInfo.jsIrHeader.externalModuleName)
|
||||
}
|
||||
|
||||
val fragments = cacheInfo.fileArtifact.loadJsIrFragments()
|
||||
val isExportFileCachedInfo = cacheInfo is CachedFileInfo.ExportFileCachedInfo
|
||||
return JsIrModule(
|
||||
cacheInfo.jsIrHeader.moduleName,
|
||||
cacheInfo.jsIrHeader.externalModuleName,
|
||||
listOf(if (cacheInfo.isExportFileCachedInfo) fragments.exportFragment!! else fragments.mainFragment)
|
||||
listOf(if (isExportFileCachedInfo) fragments.exportFragment!! else fragments.mainFragment),
|
||||
runIf(isExportFileCachedInfo) { cacheInfo.moduleArtifact.moduleSafeName }
|
||||
)
|
||||
}
|
||||
|
||||
override fun loadProgramHeadersFromCache(): List<CachedFileInfo> {
|
||||
return moduleArtifacts
|
||||
.flatMap { module ->
|
||||
module.fileArtifacts.flatMap {
|
||||
if (it.isModified())
|
||||
module.loadFileInfoFor(it)
|
||||
else
|
||||
module.fetchFileInfoFor(it) ?: module.loadFileInfoFor(it)
|
||||
}
|
||||
.flatMap { moduleArtifact ->
|
||||
var hasFileWithJsExportedDeclaration = false
|
||||
moduleArtifact.fileArtifacts
|
||||
.flatMap { srcFileArtifact ->
|
||||
val cachedFileInfo = if (srcFileArtifact.isModified())
|
||||
moduleArtifact.loadFileInfoFor(srcFileArtifact)
|
||||
else
|
||||
moduleArtifact.fetchFileInfoFor(srcFileArtifact) ?: moduleArtifact.loadFileInfoFor(srcFileArtifact)
|
||||
|
||||
if (!hasFileWithJsExportedDeclaration && cachedFileInfo.hasExportFile()) {
|
||||
hasFileWithJsExportedDeclaration = true
|
||||
}
|
||||
|
||||
cachedFileInfo
|
||||
}
|
||||
.butIf(hasFileWithJsExportedDeclaration) {
|
||||
it.plus(moduleArtifact.fetchModuleProxyFileInfo() ?: moduleArtifact.generateModuleProxyFileCachedInfo())
|
||||
}
|
||||
}
|
||||
.onEach { headerToCachedInfo[it.jsIrHeader] = it }
|
||||
}
|
||||
@@ -228,4 +286,6 @@ class JsPerFileCache(private val moduleArtifacts: List<ModuleArtifact>) : JsMult
|
||||
|
||||
private data class CachedFileArtifacts(val jsCodeFile: File, val sourceMapFile: File?, val tsDeclarationsFile: File?)
|
||||
private data class LoadedJsIrModuleHeaders(val mainHeader: JsIrModuleHeader, val exportHeader: JsIrModuleHeader?)
|
||||
}
|
||||
|
||||
private fun List<JsPerFileCache.CachedFileInfo>.hasExportFile(): Boolean = size > 1
|
||||
}
|
||||
+7
-2
@@ -47,6 +47,12 @@ val String.safeModuleName: String
|
||||
val IrModuleFragment.safeName: String
|
||||
get() = name.asString().safeModuleName
|
||||
|
||||
fun generateProxyIrModuleWith(safeName: String, externalName: String) = JsIrModule(
|
||||
safeName,
|
||||
externalName,
|
||||
listOf(JsIrProgramFragment(safeName, "<proxy-file>"))
|
||||
)
|
||||
|
||||
enum class JsGenerationGranularity {
|
||||
WHOLE_PROGRAM,
|
||||
PER_MODULE,
|
||||
@@ -301,10 +307,9 @@ class IrModuleToJsTransformer(
|
||||
}
|
||||
|
||||
private fun IrAndExportedDeclarations.toJsIrProxyModule(): JsIrModule {
|
||||
return JsIrModule(
|
||||
return generateProxyIrModuleWith(
|
||||
fragment.safeName,
|
||||
moduleFragmentToNameMapper.getExternalNameFor(fragment),
|
||||
listOf(JsIrProgramFragment(fragment.safeName, "<proxy-file>"))
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -261,20 +261,16 @@ abstract class AbstractInvalidationTest(
|
||||
}
|
||||
|
||||
private fun verifyJsCode(stepId: Int, mainModuleName: String, jsFiles: List<String>) {
|
||||
val testModuleName = "./$mainModuleName${projectInfo.moduleKind.extension}"
|
||||
try {
|
||||
V8IrJsTestChecker.checkWithTestFunctionArgs(
|
||||
files = jsFiles,
|
||||
testModuleName = testModuleName,
|
||||
testModuleName = "./$mainModuleName${projectInfo.moduleKind.extension}",
|
||||
testPackageName = null,
|
||||
testFunctionName = BOX_FUNCTION_NAME,
|
||||
testFunctionArgs = "$stepId",
|
||||
expectedResult = "OK",
|
||||
withModuleSystem = projectInfo.moduleKind in setOf(ModuleKind.COMMON_JS, ModuleKind.UMD, ModuleKind.AMD),
|
||||
entryModulePath = when (granularity) {
|
||||
JsGenerationGranularity.PER_FILE -> jsFiles.find { it.endsWith("m.export.mjs") }
|
||||
else -> jsFiles.last()
|
||||
}
|
||||
entryModulePath = jsFiles.last()
|
||||
)
|
||||
} catch (e: ComparisonFailure) {
|
||||
throw ComparisonFailure("Mismatched box out at step $stepId", e.expected, e.actual)
|
||||
|
||||
@@ -47,7 +47,7 @@ abstract class AbstractJsIrES6InvalidationPerModuleTest : IrAbstractInvalidation
|
||||
|
||||
abstract class AbstractJsIrInvalidationPerFileWithPLTest : AbstractJsIrInvalidationWithPLTest(
|
||||
granularity = JsGenerationGranularity.PER_FILE,
|
||||
workingDirPath = "incrementalOut/invalidationWithPL/perModule"
|
||||
workingDirPath = "incrementalOut/invalidationWithPL/perFile"
|
||||
)
|
||||
|
||||
abstract class AbstractJsIrInvalidationPerModuleWithPLTest : AbstractJsIrInvalidationWithPLTest(
|
||||
|
||||
Generated
+6
@@ -307,6 +307,12 @@ public class JsFirInvalidationPerFileTestGenerated extends AbstractJsFirInvalida
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExportWithMultipleFiles")
|
||||
public void testJsExportWithMultipleFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExportWithMultipleFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
|
||||
Generated
+6
@@ -307,6 +307,12 @@ public class JsFirInvalidationPerModuleTestGenerated extends AbstractJsFirInvali
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExportWithMultipleFiles")
|
||||
public void testJsExportWithMultipleFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExportWithMultipleFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
|
||||
Generated
+6
@@ -307,6 +307,12 @@ public class JsIrES6InvalidationPerFileTestGenerated extends AbstractJsIrES6Inva
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExportWithMultipleFiles")
|
||||
public void testJsExportWithMultipleFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExportWithMultipleFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
|
||||
+6
@@ -307,6 +307,12 @@ public class JsIrES6InvalidationPerModuleTestGenerated extends AbstractJsIrES6In
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExportWithMultipleFiles")
|
||||
public void testJsExportWithMultipleFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExportWithMultipleFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
|
||||
Generated
+6
@@ -307,6 +307,12 @@ public class JsIrInvalidationPerFileTestGenerated extends AbstractJsIrInvalidati
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExportWithMultipleFiles")
|
||||
public void testJsExportWithMultipleFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExportWithMultipleFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
|
||||
Generated
+6
@@ -307,6 +307,12 @@ public class JsIrInvalidationPerModuleTestGenerated extends AbstractJsIrInvalida
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExport/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsExportWithMultipleFiles")
|
||||
public void testJsExportWithMultipleFiles() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/jsExportWithMultipleFiles/");
|
||||
}
|
||||
|
||||
@Test
|
||||
@TestMetadata("jsModuleAnnotation")
|
||||
public void testJsModuleAnnotation() throws Exception {
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m, main/m.export
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m, main/m.export
|
||||
dirty js files: lib1/f, lib1/f1, lib1/f2, lib1/f3, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/testEquals, main/testToString, main/testHashCode, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/testEquals, main/testToString, main/testHashCode, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2string, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2string, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/f, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/f, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/testEnumEntries, main/testEnumValues, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/testEnumEntries, main/testEnumValues, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
@@ -12,7 +12,7 @@ STEP 2:
|
||||
language: +EnumEntries
|
||||
libs: lib1, main
|
||||
dirty js modules: main, lib1
|
||||
dirty js files: lib1/l1, main/testEnumEntries, main/testEnumValues, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/testEnumEntries, main/testEnumValues, main/m, main/m.export, main
|
||||
STEP 3:
|
||||
language: +EnumEntries
|
||||
libs: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib1/l2, main/m, main/m.export, main
|
||||
STEP 1..4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/classABC, main/m, main/m.export
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/classABC, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/classA, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/classA, main/m, main/m.export, main
|
||||
STEP 1..4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/classA, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/classA, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/class2, lib2/object2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
|
||||
@@ -3,6 +3,6 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/publicClass, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/publicClass, main/test, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..6:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2b, lib2/l2a, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2b, lib2/l2a, main/m, main/m.export, main
|
||||
STEP 1..4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/A, lib1/B, lib1/C, main/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main, libProxy
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..7:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+2
-2
@@ -3,11 +3,11 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib1, main/m
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib1/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..9:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib1/l1b, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/InterfaceB, lib1/InterfaceC, lib2/MyClass, lib2/GetA, lib2/GetB, lib2/GetC, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/InterfaceA, lib1/InterfaceB, lib1/InterfaceC, lib2/MyClass, lib2/GetA, lib2/GetB, lib2/GetC, main/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, lib2/MyClass, lib2/GetA, lib2/GetB, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/InterfaceA, lib1/ClassB, lib2/MyClass, lib2/GetA, lib2/GetB, main/test, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/Interface, lib1/ClassA, lib1/ClassB, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/Interface, lib1/ClassA, lib1/ClassB, main/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2test, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2test, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/js, lib1/test, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib1/js, lib1/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/js, lib1/test, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib1/js, lib1/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
@@ -3,11 +3,11 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, main/m
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib1, main/m
|
||||
STEP 2..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun foo() = 77
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@JsExport
|
||||
fun foo() = 77
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun foo() = 77
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@JsExport
|
||||
class Bar
|
||||
+1
@@ -0,0 +1 @@
|
||||
class Bar
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
@JsExport
|
||||
class Bar
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun foo() = 77
|
||||
Vendored
+29
@@ -0,0 +1,29 @@
|
||||
STEP 0:
|
||||
modifications:
|
||||
U : l1.0.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 1:
|
||||
modifications:
|
||||
U : l1.1.kt -> l1.kt
|
||||
modified ir: l1.kt
|
||||
STEP 2:
|
||||
modifications:
|
||||
U : l2.2.kt -> l2.kt
|
||||
added file: l2.kt
|
||||
STEP 3:
|
||||
modifications:
|
||||
U : l2.3.kt -> l2.kt
|
||||
modified ir: l2.kt
|
||||
STEP 4:
|
||||
modifications:
|
||||
D : l1.kt
|
||||
removed file: l1.kt
|
||||
STEP 5:
|
||||
modifications:
|
||||
U : l1.5.kt -> l1.kt
|
||||
added file: l1.kt
|
||||
STEP 6:
|
||||
modifications:
|
||||
U : l1.6.kt -> l1.kt
|
||||
U : l2.6.kt -> l2.kt
|
||||
modified ir: l1.kt, l2.kt
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
fun box(): String {
|
||||
return "OK"
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
STEP 0:
|
||||
added file: m.kt
|
||||
STEP 1..6:
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
MODULES: lib1, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib1
|
||||
STEP 2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l2
|
||||
STEP 3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l2, lib1/l2.export, lib1
|
||||
STEP 4:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1
|
||||
STEP 5:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1
|
||||
STEP 6:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib1/l2, lib1
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/ObjectA, lib1/ObjectB, main/m, main/m.export
|
||||
dirty js files: lib1/ObjectA, lib1/ObjectB, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+5
-5
@@ -3,22 +3,22 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
language: +TypeAliases
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 2:
|
||||
language: +TypeAliases, +BoundCallableReferences, +LocalDelegatedProperties, +TopLevelSealedInheritance
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 3:
|
||||
language: +TypeAliases, +BoundCallableReferences, +TopLevelSealedInheritance
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 4:
|
||||
language: +BoundCallableReferences, +TopLevelSealedInheritance, +TypeAliases
|
||||
libs: lib1, main
|
||||
@@ -29,7 +29,7 @@ STEP 6:
|
||||
language: +BoundCallableReferences, -TypeAliases, +TopLevelSealedInheritance
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 7:
|
||||
language: +TopLevelSealedInheritance, +BoundCallableReferences, +TypeAliases
|
||||
libs: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/classA, lib1/interface, main/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m0, main/m1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m0, main/m1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/test, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
js/js.translator/testData/incremental/invalidation/moveExternalDeclarationsBetweenFiles/project.info
Vendored
+1
-1
@@ -4,7 +4,7 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB, lib2/test, main/m, main/m.export
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB, lib2/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/demo, lib1/JsModuleA, lib1/JsModuleB
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, lib3, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l11, lib1/l12, lib2/l21, lib3/l3, main/m, main/m.export
|
||||
dirty js files: lib1/l11, lib1/l12, lib2/l21, lib3/l3, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, lib3, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, lib3, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..3:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: main
|
||||
STEP 0:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
dirty js files: main/f, main/m, main/m.export
|
||||
dirty js files: main/f, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: main
|
||||
dirty js modules: main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/classA, lib1/interface, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/classA, lib1/interface, main/test, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1_0, lib1/l1_1, lib2/l2_0, lib2/l2_1, main/m, main/m.export
|
||||
dirty js files: lib1/l1_0, lib1/l1_1, lib2/l2_0, lib2/l2_1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1_0, lib1/l1_1, main/m, main/m.export
|
||||
dirty js files: lib1/l1_0, lib1/l1_1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib1-new, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1-new, main
|
||||
dirty js modules: lib1-new, main
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib1-a, lib1-b, lib1-c, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/l1c, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/l1c, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1-a, lib1-b, lib1-c, lib2, main
|
||||
dirty js modules: lib1-a, lib1-b, lib1-c, lib2
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1A, lib1/l1I, lib2/l2A, main/m, main/m.export
|
||||
dirty js files: lib1/l1A, lib1/l1I, lib2/l2A, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2globalVal, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, lib2/l2globalVal, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
+3
-3
@@ -4,16 +4,16 @@ MODULES: lib1, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib2/l2
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib1, lib2/l2
|
||||
STEP 2:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib1/l1.export, lib2/l2
|
||||
STEP 3:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib2/l2, lib2/l2.export, main/m
|
||||
dirty js files: lib2/l2, lib2/l2.export, lib2, main/m
|
||||
STEP 4:
|
||||
libs: lib1, lib2, main
|
||||
dirty js files: lib1/l1, lib2/l2
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib3, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib3, lib2, main
|
||||
dirty js modules: lib1, lib2, lib3, main
|
||||
dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export
|
||||
dirty js files: lib1/l1, lib2/l2, lib3/l3, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib3, lib2, main
|
||||
dirty js modules: lib1
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/l1c, lib1/l1d, lib2/l2a, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib1/l1c, lib1/l1d, lib2/l2a, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib2
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, lib2, main
|
||||
STEP 0:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib2/l2a, main/m, main/m.export
|
||||
dirty js files: lib1/l1a, lib1/l1b, lib2/l2a, main/m, main/m.export, main
|
||||
STEP 1:
|
||||
libs: lib1, lib2, main
|
||||
dirty js modules: lib1, lib2, main
|
||||
|
||||
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Vendored
+1
-1
@@ -3,7 +3,7 @@ MODULES: lib1, main
|
||||
STEP 0:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
dirty js files: lib1/l1, main/test, main/m, main/m.export
|
||||
dirty js files: lib1/l1, main/test, main/m, main/m.export, main
|
||||
STEP 1..2:
|
||||
libs: lib1, main
|
||||
dirty js modules: lib1, main
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user