GeneratePomTest.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.baomidou.mybatisplus.starter.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. try (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 mp = dependenciesMap.get("mybatis-plus");
  39. Assertions.assertEquals("compile", mp.getScope());
  40. Assertions.assertFalse(mp.isOptional());
  41. Dependency autoconfigure = dependenciesMap.get("spring-boot-autoconfigure");
  42. Assertions.assertEquals("compile", autoconfigure.getScope());
  43. Assertions.assertFalse(autoconfigure.isOptional());
  44. Dependency jdbc = dependenciesMap.get("spring-boot-starter-jdbc");
  45. Assertions.assertEquals("compile", jdbc.getScope());
  46. Assertions.assertFalse(jdbc.isOptional());
  47. Dependency configurationProcessor = dependenciesMap.get("spring-boot-configuration-processor");
  48. Assertions.assertEquals("compile", configurationProcessor.getScope());
  49. Assertions.assertTrue(configurationProcessor.isOptional());
  50. Dependency autoconfigureProcessor = dependenciesMap.get("spring-boot-autoconfigure-processor");
  51. Assertions.assertEquals("compile", autoconfigureProcessor.getScope());
  52. Assertions.assertTrue(autoconfigureProcessor.isOptional());
  53. Dependency bom = dependenciesMap.get("spring-boot-dependencies");
  54. Assertions.assertEquals("import", bom.getScope());
  55. Assertions.assertFalse(bom.isOptional());
  56. }
  57. }
  58. }