Skip to content

Commit 1822b59

Browse files
author
Vladimir Kotal
committed
enable projects separately
fixes #3465
1 parent 29c205c commit 1822b59

File tree

2 files changed

+32
-6
lines changed

2 files changed

+32
-6
lines changed

docker/start.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
from opengrok_tools.utils.indexer import Indexer
3838
from opengrok_tools.sync import do_sync
3939
from opengrok_tools.utils.opengrok import list_projects, \
40-
add_project, delete_project, get_configuration
40+
add_project, delete_project, get_configuration, set_config_value
4141
from opengrok_tools.utils.readconfig import read_config
4242
from opengrok_tools.utils.exitvals import SUCCESS_EXITVAL
4343

@@ -260,6 +260,8 @@ def project_syncer(logger, loglevel, uri, config_path, sync_period,
260260

261261
wait_for_tomcat(logger, uri)
262262

263+
set_config_value(logger, 'projectsEnabled', 'true', uri)
264+
263265
while True:
264266
refresh_projects(logger, uri)
265267

@@ -301,7 +303,7 @@ def project_syncer(logger, loglevel, uri, config_path, sync_period,
301303
time.sleep(sleep_seconds)
302304

303305

304-
def create_bare_config(logger, use_projects=True):
306+
def create_bare_config(logger):
305307
"""
306308
Create bare configuration file with a few basic settings.
307309
"""
@@ -315,8 +317,6 @@ def create_bare_config(logger, use_projects=True):
315317
'-H',
316318
'-W', OPENGROK_CONFIG_FILE,
317319
'--noIndex']
318-
if use_projects:
319-
indexer_options.append('-P')
320320

321321
indexer = Indexer(indexer_options,
322322
jar=OPENGROK_JAR,
@@ -384,7 +384,7 @@ def main():
384384
#
385385
if not os.path.exists(OPENGROK_CONFIG_FILE) or \
386386
os.path.getsize(OPENGROK_CONFIG_FILE) == 0:
387-
create_bare_config(logger, use_projects=use_projects)
387+
create_bare_config(logger)
388388

389389
if sync_period > 0:
390390
if use_projects:

tools/src/main/python/opengrok_tools/utils/opengrok.py

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def get_repos(logger, project, uri, headers=None, timeout=None):
5555

5656
def get_config_value(logger, name, uri, headers=None, timeout=None):
5757
"""
58-
Get list of repositories for given project name.
58+
Get configuration value.
5959
6060
Return string with the result on success, None on failure.
6161
"""
@@ -71,6 +71,32 @@ def get_config_value(logger, name, uri, headers=None, timeout=None):
7171
return r.text
7272

7373

74+
def set_config_value(logger, name, value, uri, headers=None, timeout=None):
75+
"""
76+
Set configuration value.
77+
:param logger: logger instance
78+
:param name: name of the configuration field
79+
:param value: field value
80+
:param uri: web app URI
81+
:param headers: optional dictionary of HTTP headers
82+
:param timeout: optional request timeout
83+
:return: True on success, False on failure
84+
"""
85+
try:
86+
local_headers = {}
87+
if headers:
88+
local_headers.update(headers)
89+
local_headers['Content-type'] = 'application/text'
90+
do_api_call('PUT', get_uri(uri, 'api', 'v1', 'configuration', name),
91+
data=value, headers=local_headers, timeout=timeout)
92+
except Exception:
93+
logger.error("Cannot set the '{}' config field to '{}' from the web "
94+
"application on {}".format(name, value, uri))
95+
return False
96+
97+
return True
98+
99+
74100
def get_repo_type(logger, repository, uri, headers=None, timeout=None):
75101
"""
76102
Get repository type for given path relative to sourceRoot.

0 commit comments

Comments
 (0)