Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-35454

Connector ArchTests fails due to dependency on fink.util.Preconditions

    XMLWordPrintableJSON

Details

    Description

      Description

      • Arch Unit Rules for connectors limits dependencies of any classes in connectors on @Public or @PublicEvolving with exceptions of connector package classes, this is not true since we should be able to depend on internal util classes like Preconditions and ExceptionsUtils
      freeze(
                          javaClassesThat(resideInAnyPackage(CONNECTOR_PACKAGES))
                                  .and()
                                  .areNotAnnotatedWith(Deprecated.class)
                                  .should()
                                  .onlyDependOnClassesThat(
                                        areFlinkClassesThatResideOutsideOfConnectorPackagesAndArePublic()
                                                  .or(
                                                          JavaClass.Predicates.resideOutsideOfPackages(
                                                                  "org.apache.flink.."))
                                                  .or(
                                                          JavaClass.Predicates.resideInAnyPackage(
                                                                  CONNECTOR_PACKAGES)) )
                                  .as(
                                          "Connector production code must depend only on public API when outside of connector packages"));
      
      

      Attachments

        Issue Links

          Activity

            People

              chalixar Ahmed Hamdy
              chalixar Ahmed Hamdy
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: