# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0).

repository.url=http://${org.apache.ace.server}/repository
user.name=d
authentication.enabled=false
customer.name=apache
store.repository.name=shop
distribution.repository.name=target
deployment.repository.name=deployment

