vigente publica organica municipal leyes ley fraccion federal articulo administracion sbt

sbt - municipal - ley organica de la administracion publica vigente



¿Cuál es la diferencia entre los ámbitos ThisBuild y Global? (2)

Esto probablemente se usaría en un complemento:

resolvers in Global ++= appResolvers

Mientras que esto podría aparecer en tu definición de compilación:

resolvers in ThisBuild ++= appResolvers

por lo que le permite anular el valor predeterminado global ofrecido por el complemento.

Dentro de la misma definición de compilación, el uso de cualquiera de las dos probablemente tendrá un efecto equivalente, porque son los dos últimos en la lista de delegados.

¿Alguien puede explicarme la diferencia entre escribir estas 2 líneas?

resolvers in ThisBuild ++= appResolvers resolvers in Global ++= appResolvers


Lea Scopes para obtener la explicación completa.

Citaré partes relevantes:

Hay tres ejes de alcance:

  • Proyectos
  • Configuraciones
  • Tareas

Alcance por eje del proyecto

Si coloca varios proyectos en una sola construcción, cada proyecto necesita su propia configuración. Es decir, las claves pueden ser objeto de acuerdo con el proyecto.

Alcance global

Cada eje de alcance se puede completar con una instancia del tipo de eje (por ejemplo, el eje de tarea se puede completar con una tarea), o el eje se puede completar con el valor especial Global.

Refiriéndose a las teclas de ámbito cuando se ejecuta sbt

* Puede aparecer para cada eje, refiriéndose al ámbito Global .

  • {.}/test:full-classpath establece el eje del proyecto en "compilación completa" donde la compilación es {.} . {.} se puede escribir ThisBuild en código Scala.

En referencia a los ámbitos en una definición de compilación

name in Global := "hello"

( name in Global convierte implícitamente el eje del alcance Global en un alcance con todos los ejes configurados en Global ; la tarea y la configuración ya son Global por defecto, por lo que aquí el efecto es hacer que el proyecto sea Global , es decir, definir */*:name en lugar de {file:/home/hp/checkout/hello/}default-aea33a/*:name )

Así como está escrito anteriormente, Global establece los tres ejes en Global mientras que ThisBuild establece solo el eje del proyecto en {.} . Esto podría tener sentido si combina ThisBuild con otra configuración similar a un eje:

name> set name in Test in ThisBuild := "test-name" [info] Defining {.}/test:name