Skip to content

Commit

Permalink
fix: generate correct path in modules.xml for package at workspace …
Browse files Browse the repository at this point in the history
…root

Fixes #379
  • Loading branch information
blaugold committed Jul 2, 2023
1 parent 979d0b1 commit 7f499a6
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 8 deletions.
2 changes: 1 addition & 1 deletion packages/melos/lib/src/common/intellij_project.dart
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ class IntellijProject {

String ideaModuleStringForName(String moduleName, {String? relativePath}) {
final imlPath = relativePath != null
? '$relativePath/$moduleName.iml'
? p.normalize('$relativePath/$moduleName.iml')
: '$moduleName.iml';
final module = '<module '
'fileurl="file://\$PROJECT_DIR\$/$imlPath" '
Expand Down
7 changes: 0 additions & 7 deletions packages/melos/test/commands/bootstrap_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import 'dart:io' as io;

import 'package:melos/melos.dart';
import 'package:melos/src/commands/runner.dart';
import 'package:melos/src/common/io.dart';
import 'package:melos/src/common/utils.dart';
import 'package:path/path.dart' as p;
import 'package:pub_semver/pub_semver.dart';
Expand All @@ -13,12 +12,6 @@ import '../matchers.dart';
import '../utils.dart';
import '../workspace_config_test.dart';

io.Directory createTestTempDir() {
final dir = createTempDir(io.Directory.systemTemp.path);
addTearDown(() => deleteEntry(dir));
return io.Directory(dir);
}

void main() {
group('bootstrap', () {
test(
Expand Down
31 changes: 31 additions & 0 deletions packages/melos/test/common/intellij_project_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import 'package:melos/src/common/intellij_project.dart';
import 'package:melos/src/common/io.dart';
import 'package:test/test.dart';

import '../utils.dart';

void main() {
test(
'generates correct path for package at root in modules.xml ',
() async {
final tempDir = createTestTempDir();
final workspaceBuilder = VirtualWorkspaceBuilder(
path: tempDir.path,
'''
packages:
- .
''',
)..addPackage(
'''
name: root
''',
path: '.',
);
final workspace = workspaceBuilder.build();
final project = IntellijProject.fromWorkspace(workspace);
await project.generate();
final modulesXml = readTextFile(project.pathModulesXml);
expect(modulesXml, contains(r'file://$PROJECT_DIR$/melos_root.iml'));
},
);
}
6 changes: 6 additions & 0 deletions packages/melos/test/utils.dart
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,12 @@ class TestLogger extends StandardLogger {
}
}

Directory createTestTempDir() {
final dir = createTempDir(Directory.systemTemp.path);
addTearDown(() => deleteEntry(dir));
return Directory(dir);
}

Future<void> runPubGet(String workspacePath) async {
final result = await Process.run(
'dart',
Expand Down

0 comments on commit 7f499a6

Please sign in to comment.