GeneratePomTest.java 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package com.baomidou.mybatisplus.extension.pom;
  2. import jodd.io.FileUtil;
  3. import jodd.jerry.Jerry;
  4. import jodd.lagarto.dom.LagartoDOMBuilder;
  5. import lombok.AllArgsConstructor;
  6. import lombok.Data;
  7. import org.junit.jupiter.api.Assertions;
  8. import org.junit.jupiter.api.Test;
  9. import java.io.FileInputStream;
  10. import java.io.IOException;
  11. import java.io.InputStream;
  12. import java.util.HashMap;
  13. import java.util.Map;
  14. /**
  15. * 检查pom依赖
  16. *
  17. * @author nieqiurong 2019/2/9.
  18. */
  19. class GeneratePomTest {
  20. @Data
  21. @AllArgsConstructor
  22. private static class Dependency {
  23. private String artifactId;
  24. private String scope;
  25. private boolean optional;
  26. }
  27. @Test
  28. void test() throws IOException {
  29. InputStream inputStream = new FileInputStream("build/publications/mavenJava/pom-default.xml");
  30. Jerry.JerryParser jerryParser = new Jerry.JerryParser(new LagartoDOMBuilder().enableXmlMode());
  31. Jerry doc = jerryParser.parse(FileUtil.readUTFString(inputStream));
  32. Jerry dependencies = doc.$("dependencies dependency");
  33. Map<String, Dependency> dependenciesMap = new HashMap<>();
  34. dependencies.forEach($this -> {
  35. String artifactId = $this.$("artifactId").text();
  36. dependenciesMap.put(artifactId, new Dependency(artifactId, $this.$("scope").text(), Boolean.parseBoolean($this.$("optional").text())));
  37. });
  38. Dependency core = dependenciesMap.get("mybatis-plus-core");
  39. Assertions.assertEquals("compile", core.getScope());
  40. Assertions.assertFalse(core.isOptional());
  41. Dependency mybatisSpring = dependenciesMap.get("mybatis-spring");
  42. Assertions.assertEquals("compile", mybatisSpring.getScope());
  43. Assertions.assertFalse(mybatisSpring.isOptional());
  44. Dependency kotlinStdlib = dependenciesMap.get("kotlin-stdlib-jdk8");
  45. Assertions.assertEquals("compile", kotlinStdlib.getScope());
  46. Assertions.assertTrue(kotlinStdlib.isOptional());
  47. Dependency kotlinReflect = dependenciesMap.get("kotlin-reflect");
  48. Assertions.assertEquals("compile", kotlinReflect.getScope());
  49. Assertions.assertTrue(kotlinReflect.isOptional());
  50. Dependency support = dependenciesMap.get("spring-context-support");
  51. Assertions.assertEquals("compile", support.getScope());
  52. Assertions.assertTrue(support.isOptional());
  53. Dependency jdbc = dependenciesMap.get("spring-jdbc");
  54. Assertions.assertEquals("compile", jdbc.getScope());
  55. Assertions.assertTrue(jdbc.isOptional());
  56. Dependency slf4jApi = dependenciesMap.get("slf4j-api");
  57. Assertions.assertEquals("compile", slf4jApi.getScope());
  58. Assertions.assertTrue(slf4jApi.isOptional());
  59. }
  60. }