/********************************************************************************
 * Copyright (c) 2015-2018 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 ********************************************************************************/


rootProject.name = 'org.eclipse.mdm.nucleus'

def includeIfExists(String projectPath) {
    if (file(projectPath).exists()) {
        includeBuild projectPath
    }
}

includeIfExists '../org.eclipse.mdm.api.base'
includeIfExists '../org.eclipse.mdm.api.default'
includeIfExists '../org.eclipse.mdm.api.odsadapter'

include 'org.eclipse.mdm.openatfx'
include 'org.eclipse.mdm.api.atfxadapter'
include 'org.eclipse.mdm.application'
include 'org.eclipse.mdm.connector'
include 'org.eclipse.mdm.apicopy'
include 'org.eclipse.mdm.businessobjects'
include 'org.eclipse.mdm.filerelease'
include 'org.eclipse.mdm.property'
include 'org.eclipse.mdm.freetextindexer'
include 'org.eclipse.mdm.preferences'

