blob: 3f4ff072f7a2bb67facc8d3fd73be2ba8f5cd16b [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
use 5.008003;
use strict;
use warnings;
use lib 'buildlib';
use File::Spec::Functions qw( catdir );
use Lucy::Build;
my @BASE_PATH = Lucy::Build->cf_base_path;
my $MODULES_DIR = catdir( @BASE_PATH, 'modules' );
my $SNOWSTEM_SRC_DIR = catdir( $MODULES_DIR, qw( analysis snowstem source ) );
my $SNOWSTEM_INC_DIR = catdir( $SNOWSTEM_SRC_DIR, 'include' );
my $SNOWSTOP_SRC_DIR = catdir( $MODULES_DIR, qw( analysis snowstop source ) );
my $UCD_INC_DIR = catdir( $MODULES_DIR, qw( unicode ucd ) );
my $UTF8PROC_SRC_DIR = catdir( $MODULES_DIR, qw( unicode utf8proc ) );
my $CORE_SOURCE_DIR = catdir( @BASE_PATH, 'core' );
my $TEST_SOURCE_DIR = catdir( @BASE_PATH, 'test' );
my $XS_SOURCE_DIR = 'xs';
my @cf_linker_flags = Clownfish::CFC::Perl::Build->cf_linker_flags(
'Clownfish',
);
my $builder = Lucy::Build->new(
module_name => 'Lucy',
license => 'apache',
dist_author =>
'The Apache Lucy Project <dev at lucy dot apache dot org>',
dist_version => '0.5.0',
requires => {
'perl' => '5.8.3',
'Clownfish' => 0.005000,
},
configure_requires => {
'Module::Build' => 0.280801,
'Clownfish' => 0.005000,
'Clownfish::CFC::Perl::Build' => 0.005000,
},
build_requires => {
'Module::Build' => 0.280801,
'ExtUtils::CBuilder' => 0.21,
'ExtUtils::ParseXS' => 2.18,
'Devel::PPPort' => 3.14,
'Clownfish' => 0.005000,
'Clownfish::CFC' => 0.005000,
},
meta_merge => { keywords => [qw( search lucy lucene )], },
meta_add => {
resources => {
homepage => 'http://lucy.apache.org',
repository => 'https://git-wip-us.apache.org/repos/asf/lucy.git',
bugtracker => 'https://issues.apache.org/jira/browse/LUCY',
},
},
include_dirs => [
$CORE_SOURCE_DIR,
$XS_SOURCE_DIR,
$SNOWSTEM_INC_DIR,
$UCD_INC_DIR,
$UTF8PROC_SRC_DIR,
],
clownfish_params => {
source => [ $CORE_SOURCE_DIR, $TEST_SOURCE_DIR ],
modules => [
{
name => 'Lucy',
parcels => [ 'Lucy', 'TestLucy' ],
c_source_dirs => [
$CORE_SOURCE_DIR,
$TEST_SOURCE_DIR,
$XS_SOURCE_DIR,
$SNOWSTEM_SRC_DIR,
$SNOWSTOP_SRC_DIR,
$UTF8PROC_SRC_DIR,
],
},
],
},
extra_linker_flags => [ @cf_linker_flags ],
add_to_cleanup => [
qw(
Lucy-*
MANIFEST.bak
perltidy.ERR
*.pdb
*.manifest
),
],
);
$builder->create_build_script();
__END__