Browse Source

Allow configuring license exceptions via dedicated macro

Docs will be updated in one of the folliwing PRs.
thegeorg 1 year ago
parent
commit
6d33d6ed03

+ 5 - 2
build/conf/license.conf

@@ -424,7 +424,7 @@ macro LICENSE(Flags...) {
     SET(LICENSE_NAMES $Flags)
 }
 
-### @usage RESTRICT_LICENSES(ALLOW_ONLY|DENY LicenseProperty...)
+### @usage LICENSE_RESTRICTION(ALLOW_ONLY|DENY LicenseProperty...)
 ###
 ### Restrict licenses of direct and indirect module dependencies.
 ###
@@ -435,8 +435,11 @@ macro LICENSE(Flags...) {
 ###
 ### Note: Can be used multiple times on the same module all specified constraints will be checked.
 ### All macro invocation for the same module must use same constraints type (DENY or ALLOW_ONLY)
-macro RESTRICT_LICENSES(TYPE, EXCEPT[], RESTRICTIONS...) {
+macro LICENSE_RESTRICTION(TYPE, RESTRICTIONS...) {
     SET_APPEND(MODULE_LICENSES_RESTRICTION_TYPES $TYPE)
     SET_APPEND(MODULE_LICENSES_RESTRICTIONS $RESTRICTIONS)
+}
+
+macro LICENSE_RESTRICTION_EXCEPTIONS(EXCEPT...) {
     SET_APPEND(MODULE_LICENSES_RESTRICTION_EXCEPTIONS $EXCEPT)
 }

+ 1 - 1
build/conf/python.conf

@@ -211,7 +211,7 @@ multimodule PY3_PROGRAM {
     }
 
     module PY3_BIN_LIB: PY3_LIBRARY {
-        .IGNORED=RESTRICT_LICENSES
+        .IGNORED=LICENSE_RESTRICTION LICENSE_RESTRICTION_EXCEPTIONS
         # Notify pybuild to skip all python main function definitions
         ENABLE(IGNORE_PY_MAIN)
         _REQUIRE_EXPLICIT_LICENSE()

+ 6 - 4
ydb/apps/ydbd/ya.make

@@ -88,11 +88,13 @@ CHECK_DEPENDENT_DIRS(
 YQL_LAST_ABI_VERSION()
 
 IF (OPENSOURCE)
-    RESTRICT_LICENSES(
+    LICENSE_RESTRICTION(
         DENY REQUIRE_DISCLOSURE FORBIDDEN PROTESTWARE
-        EXCEPT contrib/libs/linux-headers  # DTCC-553
-        EXCEPT contrib/libs/fmt            #
-        EXCEPT contrib/libs/t1ha           # KIKIMR-16412
+    )
+    LICENSE_RESTRICTION_EXCEPTIONS(
+        contrib/libs/linux-headers  # DTCC-553
+        contrib/libs/fmt            #
+        contrib/libs/t1ha           # KIKIMR-16412
     )
 ENDIF()
 

+ 5 - 3
ydb/public/tools/local_ydb/ya.make

@@ -2,10 +2,12 @@ PY3_PROGRAM(local_ydb)
 
 IF (OPENSOURCE)
 
-    RESTRICT_LICENSES(
+    LICENSE_RESTRICTION(
         DENY REQUIRE_DISCLOSURE FORBIDDEN PROTESTWARE
-        # DTCC-553
-        EXCEPT contrib/libs/linux-headers
+    )
+
+    LICENSE_RESTRICTION_EXCEPTIONS(
+        contrib/libs/linux-headers  # DTCC-553
     )
 
 ENDIF()

+ 5 - 5
yt/opensource.inc

@@ -11,11 +11,11 @@ IF (OPENSOURCE)
         EXCLUDE_TAGS(PY2)
     ENDIF()
 
-    RESTRICT_LICENSES(
+    LICENSE_RESTRICTION(
         DENY REQUIRE_DISCLOSURE FORBIDDEN PROTESTWARE
-        # https://st.yandex-team.ru/DTCC-553
-        EXCEPT contrib/libs/linux-headers
-        # CHYT
-        EXCEPT contrib/libs/fmt
+    )
+    LICENSE_RESTRICTION_EXCEPTIONS(
+        contrib/libs/linux-headers      # DTCC-553
+        contrib/libs/fmt                # DTCC-1317
     )
 ENDIF()

+ 8 - 7
yt/opensource_tests.inc

@@ -11,14 +11,15 @@ IF (OPENSOURCE)
         EXCLUDE_TAGS(PY2)
     ENDIF()
 
-    RESTRICT_LICENSES(
+    LICENSE_RESTRICTION(
         DENY REQUIRE_DISCLOSURE FORBIDDEN PROTESTWARE
-        # https://st.yandex-team.ru/DTCC-553
-        EXCEPT contrib/libs/linux-headers
-        # CHYT
-        EXCEPT contrib/libs/fmt
+    )
+
+    LICENSE_RESTRICTION_EXCEPTIONS(
+        contrib/libs/linux-headers       # DTCC-553
+        contrib/libs/fmt                 # DTCC-1317
         # Java tests
-        EXCEPT contrib/java/junit/junit/4.13
-        EXCEPT contrib/java/javax/persistence/persistence-api/1.0
+        contrib/java/junit/junit/4.13
+        contrib/java/javax/persistence/persistence-api/1.0
     )
 ENDIF()