Skip to content

Commit

Permalink
Add pubsub plugin binary files and scripts.
Browse files Browse the repository at this point in the history
  • Loading branch information
gjbae1212 committed Apr 14, 2019
1 parent cc735bc commit 930eb75
Show file tree
Hide file tree
Showing 7 changed files with 210 additions and 0 deletions.
Empty file added .dockerignore
Empty file.
9 changes: 9 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM golang:1.12

ENV GO111MODULE on

COPY . /go/pubsub/

WORKDIR /go/pubsub

RUN go build -buildmode=c-shared -o pubsub.so .
82 changes: 82 additions & 0 deletions bin/darwin_amd64/pubsub.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/* Code generated by cmd/cgo; DO NOT EDIT. */

/* package github.com/gjbae1212/fluent-bit-pubsub */


#line 1 "cgo-builtin-export-prolog"

#include <stddef.h> /* for ptrdiff_t below */

#ifndef GO_CGO_EXPORT_PROLOGUE_H
#define GO_CGO_EXPORT_PROLOGUE_H

#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; ptrdiff_t n; } _GoString_;
#endif

#endif

/* Start of preamble from import "C" comments. */




/* End of preamble from import "C" comments. */


/* Start of boilerplate cgo prologue. */
#line 1 "cgo-gcc-export-header-prolog"

#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H

typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef __SIZE_TYPE__ GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;

/*
static assertion to make sure the file is being used on architecture
at least with matching size of GoInt.
*/
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];

#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef _GoString_ GoString;
#endif
typedef void *GoMap;
typedef void *GoChan;
typedef struct { void *t; void *v; } GoInterface;
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;

#endif

/* End of boilerplate cgo prologue. */

#ifdef __cplusplus
extern "C" {
#endif


extern GoInt FLBPluginRegister(void* p0);

extern GoInt FLBPluginInit(void* p0);

extern GoInt FLBPluginFlush(void* p0, int p1, char* p2);

extern GoInt FLBPluginExit();

#ifdef __cplusplus
}
#endif
Binary file added bin/darwin_amd64/pubsub.so
Binary file not shown.
82 changes: 82 additions & 0 deletions bin/linux_amd64/pubsub.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
/* Code generated by cmd/cgo; DO NOT EDIT. */

/* package github.com/gjbae1212/fluent-bit-pubsub */


#line 1 "cgo-builtin-export-prolog"

#include <stddef.h> /* for ptrdiff_t below */

#ifndef GO_CGO_EXPORT_PROLOGUE_H
#define GO_CGO_EXPORT_PROLOGUE_H

#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef struct { const char *p; ptrdiff_t n; } _GoString_;
#endif

#endif

/* Start of preamble from import "C" comments. */




/* End of preamble from import "C" comments. */


/* Start of boilerplate cgo prologue. */
#line 1 "cgo-gcc-export-header-prolog"

#ifndef GO_CGO_PROLOGUE_H
#define GO_CGO_PROLOGUE_H

typedef signed char GoInt8;
typedef unsigned char GoUint8;
typedef short GoInt16;
typedef unsigned short GoUint16;
typedef int GoInt32;
typedef unsigned int GoUint32;
typedef long long GoInt64;
typedef unsigned long long GoUint64;
typedef GoInt64 GoInt;
typedef GoUint64 GoUint;
typedef __SIZE_TYPE__ GoUintptr;
typedef float GoFloat32;
typedef double GoFloat64;
typedef float _Complex GoComplex64;
typedef double _Complex GoComplex128;

/*
static assertion to make sure the file is being used on architecture
at least with matching size of GoInt.
*/
typedef char _check_for_64_bit_pointer_matching_GoInt[sizeof(void*)==64/8 ? 1:-1];

#ifndef GO_CGO_GOSTRING_TYPEDEF
typedef _GoString_ GoString;
#endif
typedef void *GoMap;
typedef void *GoChan;
typedef struct { void *t; void *v; } GoInterface;
typedef struct { void *data; GoInt len; GoInt cap; } GoSlice;

#endif

/* End of boilerplate cgo prologue. */

#ifdef __cplusplus
extern "C" {
#endif


extern GoInt FLBPluginRegister(void* p0);

extern GoInt FLBPluginInit(void* p0);

extern GoInt FLBPluginFlush(void* p0, int p1, char* p2);

extern GoInt FLBPluginExit();

#ifdef __cplusplus
}
#endif
Binary file added bin/linux_amd64/pubsub.so
Binary file not shown.
37 changes: 37 additions & 0 deletions make.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
#!/bin/bash
set -e -o pipefail
trap '[ "$?" -eq 0 ] || echo "Error Line:<$LINENO> Error Function:<${FUNCNAME}>"' EXIT

export GO111MODULE=on
cd `dirname $0`
CURRENT=`pwd`

function build
{
go build -buildmode=c-shared -o pubsub.so .
local osname=`go env | grep GOOS | awk -F "=" '{print $2}' | sed 's/\"//g'`
local archname=`go env | grep GOARCH | awk -F "=" '{print $2}' | sed 's/\"//g'`
mkdir $CURRENT/bin/${osname}_${archname} || true
mv pubsub.so pubsub.h $CURRENT/bin/${osname}_${archname}/
}

function build_linux
{
local plugin=`docker ps | grep pubsub | wc -l`
if [ $plugin -eq 1 ]
then
docker kill pubsub
fi
local osname=linux
local archname=amd64
mkdir $CURRENT/bin/${osname}_${archname} || true
docker build --no-cache -t pubsub:latest -f Dockerfile .
docker run -it --rm -d --name pubsub pubsub:latest /bin/bash
docker cp pubsub:/go/pubsub/pubsub.so $CURRENT/bin/${osname}_${archname}/
docker cp pubsub:/go/pubsub/pubsub.h $CURRENT/bin/${osname}_${archname}/
docker kill pubsub
}

CMD=$1
shift
$CMD $*

0 comments on commit 930eb75

Please sign in to comment.