Skip to content
Snippets Groups Projects
dependency-structure.ddf 2.74 KiB
Newer Older
  • Learn to ignore specific revisions
  • tpylak's avatar
    tpylak committed
    #show allResults
    
    {root} = ch.systemsx.cisd.openbis
    {screening} = ${root}.plugin.screening
    
    tpylak's avatar
    tpylak committed
    # -------- check that screening openbis is indendent of the DSS code
    
    
    [dss] = ${root}.dss.* ch.systemsx.cisd.etlserver.* excluding ${root}.dss.screening.shared.api.* ${root}.dss.generic.shared.api.authorization.*
    
    check sets [screening_openbis] [dss]
    
    check [screening_openbis] independentOf [dss]
    
    # -------- check internal screening structure
    
    [screening_shared] =  ${screening}.shared.*
    [screening_web] =  ${screening}.client.web.*
    [screening_server] =  ${screening}.server.*
    check sets [screening_shared] [screening_web] [screening_server]
    
    layer s_shared = [screening_shared]
    layer s_server = [screening_server]
    layer s_web_all = [screening_web]
    
    check layeringOf s_shared s_server s_web_all
    
    
    felmer's avatar
    felmer committed
    # -------- plugin dependencies
    
    [other.client] = ${root}.generic.client.* ${root}.plugin.*.client excluding [screening_web]
    [other.server] = ${root}.generic.server.* ${root}.plugin.*.server excluding [screening_server]
    
    check [screening_web] independentOf [other.server]
    check [screening_server] independentOf [other.client]
    
    
    # --------
    
    [screening_web_client] =  ${screening}.client.web.client.application.*
    [screening_web_shared] =  ${screening}.client.web.client.* excluding [screening_web_client]
    [screening_web_server] =  ${screening}.client.web.server.*
    check sets [screening_web_client] [screening_web_shared] [screening_web_server]
    
    layer s_web_shared = [screening_web_shared]
    layer s_web = [screening_web_server] [screening_web_client]
    
    check layeringOf s_web_shared s_web
    check [screening_web_client] independentOf [screening_server]
    
    
    tpylak's avatar
    tpylak committed
    # -------- check screening public API dependencies
    
    
    [openbis_authorization] = ${screening}.shared.api.authorization.* ${root}.generic.shared.basic.dto.RoleWithHierarchy* ${root}.generic.shared.authorization.** ${root}.generic.shared.dto.** ${root}.generic.shared.util.SpaceCodeHelper
    
    [dss_authorization] = ${root}.dss.generic.shared.api.authorization.*
    [authorization] = [openbis_authorization] [dss_authorization]
    
    tpylak's avatar
    tpylak committed
    [api_openbis] = ${screening}.shared.api.** 
    [api_dss] = ${root}.dss.screening.shared.api.v1.**
    [api_client_facade] =	${screening}.client.api.v1.**
    
    [api] = [api_dss] [api_openbis] [api_client_facade] [authorization]
    
    tpylak's avatar
    tpylak committed
    [openbis_rest] = ${root}.** excluding [api]
    check sets [api_dss] [api_openbis] [api_client_facade] [api] [openbis_rest] [openbis_authorization]
    
    # TODO: how to check that the api does not depend on external libraries?
    check [api] independentOf [openbis_rest]
    
    check [api_client_facade] directlyIndependentOf [authorization]
    
    tpylak's avatar
    tpylak committed
    
    
    tpylak's avatar
    tpylak committed
    layer s_api_openbis = [api_openbis]
    layer s_api_dss_and_utils = [api_dss]
    layer s_api_client = [api_client_facade]
    check layeringOf s_api_openbis s_api_dss_and_utils s_api_client