Skip to content

Commit

Permalink
Prebid upgarde automate- test pull request created through git api pl…
Browse files Browse the repository at this point in the history
…ease ignore it (#420)

* Merge Conflicts Resolved and errors fixed

* triggering usersyncs manually, to ensure syncup occurs in case of server side enabled partners

* changes in native keys from hb_ to pwt_

* added ext in logo and icon

* Hook Fix

* Support for ext object in icon

* automate-creation of modules.json file

* Fixed merge issue and test cases fixes

* Check for valid sizes only

* Unit test cases for the change

* automate-creation of modules.json file

* Fixed Merge issues

* UOE-4404 if adslot and mediatype both contain sizes

* automate-creation of modules.json file

* Initial User Id Module

* Updated modules.json

* automate-creation of modules.json file

* Server Side throttling based on condition

* Condition for all partners throttled

* Changed gulp task dependencies

* Build Time Optimization

* changed unused gulp packages

* Updated Package.json

* automate-creation of modules.json file

* resolved conflixt

* automate-creation of modules.json file

* IdentityPartners

* Changes for Hashed Key and parseAdSlot logic

* Fix for custom module

* making call secure of ow

* Removed implicit customId system and added it as a separated submodule

* Making server side calls secure and flag secure to 1

* Changed unifiedId from implicit to explicit

* Updated The code to fix text cases

* Fixed unit test cases

* Took latest for all ids

* Fixed the linting issue

* Custom Data support and ParseInt for Id5

* Fixed custom data

* Updated function call

* Changed Event from Auction End to Request Bid

* added secure flag

* Revert "Open identity"

* Revert "Revert "Open identity""

* First Party Id name updated for cookies

* PubMatic Handle first Party Id

* Pubmatic alias

* Handle regex pattern in logger for Hybrid Implementation

* Increment pre version

* Somo: fix an issue where the requestId was being set to the wrong value (prebid#4596)

* Sovrn ccpa support legacy (prebid#4623)

* sovrn ccpa support

* use array map/join instead of object.entries

* TripleLift: CCPA legacy support (prebid#4641)

* Add CCPA query param

* Simplify check for usPrivacy argument

* pbsBidAdapter currency fix for legacy branch (prebid#4642)

* pbsBidAdapter currency fix for legacy branch

* fixed unit tests

* Prebid 2.44.1 Release

* Revert "Prebid 2.44.1 Release"

This reverts commit 105313b.

* fix a bug when the iframe locator is not present on page (prebid#4637)

* fix a bug when the iframe locator is not present on page

* clean up

* Prebid 2.44.1 Release

* increment pre version

* Index Exchange: CCPA support (prebid#4662)

* support for us privacy (CCPA) (prebid#4665)

* Added CCPA support for legacy (prebid#4663)

* Update CCPA v3 (prebid#4677)

CCPA support
V2 compatibility
Sample tag update

* automate-creation of modules.json file

* Medianet: CCPA support added (prebid#4656)

* Ccpa legacy support for OneVideo (prebid#4648)

* outstream changes

* removing global filtet

* reverting page

* message

* adapter change

* remove space

* testcases

* testpage

* spaces for test page

* renderer exist case

* reverting package-lock.json

* adding schain object

* adding tagid

* syntaxx error fix

* video.html

* space trailing

* space

* tagid

* inventoryId and placement

* rewarded video

* added unit test case

* ccpa cahnges

* ccpa change

* test page

* test page change

* test page change 2

* change the variable

* handling the case if both GDPR and CCPA case

* handiling both cases

* test cases

* legacy ccpa support

* Update oneVideoBidAdapter.js

* Add us privacy 2.X (prebid#4669)

* cedato adapter gdpr and usp compliance (prebid#4686)

* Fidelity Media Bid Adapter 2.44.x legacy. CCPA support. (prebid#4652)

* Fidelity Media Bid Adapter v2.44.x. CCPA support.

* Fidelity Media Bid Adapter v2.44.x. CCPA support.

* add dh adapter for legacy prebid 2.x (prebid#4670)

* Prebid 2.44.2 Release

* automate-creation of modules.json file

* Support for CCPA

* Adding tracker in vast creative before cache

* add adform alias adform2

* Updated First Party Module

* Updated our adapter to have firstpartyid

* automate-creation of modules.json file

* Update key value pair for video in openwrap

* Server side syncup in accordance with latest filter settings

* Support for Eids in PubMaticServerBidAdapter

* Fix for pubCommonId

* Fix for pubmatic server bid adapter

* fix for player size and considering w & h for video

* automate-creation of modules.json file

* Fixed test issues

* automate-creation of modules.json file

* fix test cases

* Pull changes for dspid and seatid from prebid master

* Support for buyerId

* Updated location of buyid

* automate-creation of modules.json file

* Changes for consuming targeting from server side

* Fix test cases

* Updated rubiconBidAdapter for alias

* adding sspId

* UOE-5262 : OpenWrap: Add Secondary Ad Generation Bidder

* bluebillywig outstream renderer

* Fix an issue with replacing Renderer

* Replaced Renderee

* code review comments

* automate-creation of modules.json file

* added missing adatpers

* updating package.json for prod dependecies

* updated namespace

* Fix for SSP ID

* fixed test cases

* took latest

* ternay adapters

* Update adformBidAdapter.js

* automate-creation of modules.json file

* updated modules.json removed audienceNetworkBidAdapter

* wiid fix

* Targeting Keys

* dg bid adapter

* automate-creation of modules.json file

* fixes for dfp

* removed audienceNetwork from modules.json

* Fix for UOE-5694

* Fix for test cases

* regex support

* OpenWrap Nightly Release v21.1.0 (#417)

* support for video in hybrid profiles

* added newBid.mediaType for pubmaticServerBidAdapter

* unit test case for video request

* reverted debug flag

* Changes for UOe-5712/5705

* Manually took the changes for DVC related info

* Fix Typo

* piid for hybrid profiles

* removed fix for piid from staged_nightly

* Removing OW PB Same Changes regarding device as it will be releaed in Q1

* Log SSPId in piid for pubmatic

Co-authored-by: pm-shashank-jain <40654031+pm-shashank-jain@users.noreply.github.com>
Co-authored-by: pm-shashank-jain <shashank.jain@pubmatic.com>
Co-authored-by: Manasi Moghe <manasi.moghe@pubmatic.com>
Co-authored-by: Jaimin Panchal <email@example.com>
Co-authored-by: travisbeale <tbeale@izonnetwork.com>
Co-authored-by: Ankit Prakash <aprakash@sovrn.com>
Co-authored-by: David Andersen <davidwoodsandersen@gmail.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: Jason Snellbaker <jsnellbaker@appnexus.com>
Co-authored-by: Matt Kendall <1870166+mkendall07@users.noreply.github.com>
Co-authored-by: Index Exchange 3 Prebid Team <pdu-supply-prebid@indexexchange.com>
Co-authored-by: nwlosinski <norbert.wlosinski@gmail.com>
Co-authored-by: JonGoSonobi <jgo@sonobi.com>
Co-authored-by: Itay Nave <38345760+itaynave@users.noreply.github.com>
Co-authored-by: binoy-chitale <binoy.c@media.net>
Co-authored-by: DeepthiNeeladri <deepthi.sravanaqa@gmail.com>
Co-authored-by: Valentin Souche <valentin.souche@teads.tv>
Co-authored-by: Alex Khmelnitsky <alexkh13@gmail.com>
Co-authored-by: Oleg Naydenov <onaydenov@users.noreply.github.com>
Co-authored-by: Montu Thakore <montu3366@gmail.com>
Co-authored-by: Deepak Sahu <deepak.sahu@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Harshad Mane <harshad.mane@pubmatic.com>
  • Loading branch information
24 people committed Nov 18, 2020
1 parent 66bce25 commit f838c2b
Show file tree
Hide file tree
Showing 40 changed files with 12,052 additions and 663 deletions.
107 changes: 79 additions & 28 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
/* eslint-disable no-console */
'use strict';

var _ = require('lodash');
console.time('Loading Plugins in Prebid');
var argv = require('yargs').argv;
var gulp = require('gulp');
var gutil = require('gulp-util');
var connect = require('gulp-connect');
var webpack = require('webpack');
var webpackStream = require('webpack-stream');
var uglify = require('gulp-uglify');
var gulpClean = require('gulp-clean');
var KarmaServer = require('karma').Server;
var karmaConfMaker = require('./karma.conf.maker');
var opens = require('opn');
var webpackConfig = require('./webpack.conf');
var helpers = require('./gulpHelpers');
// var gutil = require('gulp-util');
// var connect = require('gulp-connect');
// var webpack = require('webpack');
// var webpackStream = require('webpack-stream');
// var uglify = require('gulp-uglify');
// var gulpClean = require('gulp-clean');
// var KarmaServer = require('karma').Server;
// var karmaConfMaker = require('./karma.conf.maker');
// var opens = require('opn');
// var webpackConfig = require('./webpack.conf');
// var helpers = require('./gulpHelpers');
var concat = require('gulp-concat');
var header = require('gulp-header');
var footer = require('gulp-footer');
// var header = require('gulp-header');
// var footer = require('gulp-footer');
var replace = require('gulp-replace');
var shell = require('gulp-shell');
var eslint = require('gulp-eslint');
var gulpif = require('gulp-if');
var sourcemaps = require('gulp-sourcemaps');
var through = require('through2');
var fs = require('fs');
var jsEscape = require('gulp-js-escape');
// var shell = require('gulp-shell');
// var eslint = require('gulp-eslint');
// var gulpif = require('gulp-if');
// var sourcemaps = require('gulp-sourcemaps');
// var through = require('through2');
// var fs = require('fs');
// var jsEscape = require('gulp-js-escape');
const path = require('path');
const execa = require('execa');

var prebid = require('./package.json');
var dateString = 'Updated : ' + (new Date()).toISOString().substring(0, 10);
var banner = '/* <%= prebid.name %> v<%= prebid.version %>\n' + dateString + ' */\n';
var port = 9999;
console.timeEnd('Loading Plugins in Prebid');
const FAKE_SERVER_HOST = argv.host ? argv.host : 'localhost';
const FAKE_SERVER_PORT = 4444;
const { spawn } = require('child_process');
Expand All @@ -49,6 +49,7 @@ function bundleToStdout() {
bundleToStdout.displayName = 'bundle-to-stdout';

function clean() {
var gulpClean = require('gulp-clean');
return gulp.src(['build'], {
read: false,
allowEmpty: true
Expand All @@ -58,13 +59,18 @@ function clean() {

// Dependant task for building postbid. It escapes postbid-config file.
function escapePostbidConfig() {
var jsEscape = require('gulp-js-escape');

gulp.src('./integrationExamples/postbid/oas/postbid-config.js')
.pipe(jsEscape())
.pipe(gulp.dest('build/postbid/'));
};
escapePostbidConfig.displayName = 'escape-postbid-config';

function lint(done) {
var eslint = require('gulp-eslint');
var gulpif = require('gulp-if');

if (argv.nolint) {
return done();
}
Expand All @@ -80,6 +86,9 @@ function lint(done) {

// View the code coverage report in the browser.
function viewCoverage(done) {
var connect = require('gulp-connect');
var opens = require('opn');

var coveragePort = 1999;
var mylocalhost = (argv.host) ? argv.host : 'localhost';

Expand All @@ -96,6 +105,8 @@ viewCoverage.displayName = 'view-coverage';

// Watch Task with Live Reload
function watch(done) {
var connect = require('gulp-connect');

var mainWatcher = gulp.watch([
'src/**/*.js',
'modules/**/*.js',
Expand All @@ -121,6 +132,13 @@ function watch(done) {
};

function makeDevpackPkg() {
var _ = require('lodash');
var connect = require('gulp-connect');
var webpack = require('webpack');
var webpackStream = require('webpack-stream');
var webpackConfig = require('./webpack.conf');
var helpers = require('./gulpHelpers');

var cloned = _.cloneDeep(webpackConfig);
cloned.devtool = 'source-map';
var externalModules = helpers.getArgModules();
Expand All @@ -136,6 +154,15 @@ function makeDevpackPkg() {
}

function makeWebpackPkg() {
var _ = require('lodash');
var webpack = require('webpack');
var webpackStream = require('webpack-stream');
var uglify = require('gulp-uglify');
var webpackConfig = require('./webpack.conf');
var helpers = require('./gulpHelpers');
var header = require('gulp-header');
var gulpif = require('gulp-if');

var cloned = _.cloneDeep(webpackConfig);
delete cloned.devtool;

Expand All @@ -157,6 +184,8 @@ function gulpBundle(dev) {
}

function nodeBundle(modules) {
var through = require('through2');

return new Promise((resolve, reject) => {
bundle(false, modules)
.on('error', (err) => {
Expand All @@ -170,9 +199,17 @@ function nodeBundle(modules) {
}

function bundle(dev, moduleArr) {
// console.time('Loading Plugins for Prebid');
var _ = require('lodash');
var gutil = require('gulp-util');
var helpers = require('./gulpHelpers');
var footer = require('gulp-footer');
var gulpif = require('gulp-if');
var sourcemaps = require('gulp-sourcemaps');
var modules = moduleArr || helpers.getArgModules();
var allModules = helpers.getModuleNames(modules);

// console.timeEnd('Loading Plugins for Prebid');
// console.time('Getting Modules for Prebid');
if (modules.length === 0) {
modules = allModules.filter(module => explicitModules.indexOf(module) === -1);
} else {
Expand All @@ -184,7 +221,8 @@ function bundle(dev, moduleArr) {
});
}
}

// console.timeEnd('Getting Modules for Prebid');
// console.time('Concating Starts');
var entries = [helpers.getBuiltPrebidCoreFile(dev)].concat(helpers.getBuiltModules(dev, modules));

var outputFileName = argv.bundleName ? argv.bundleName : 'prebid.js';
Expand All @@ -194,10 +232,10 @@ function bundle(dev, moduleArr) {
outputFileName = outputFileName.replace(/\.js$/, `.${argv.tag}.js`);
}

gutil.log('Concatenating files:\n', entries);
gutil.log('Appending ' + prebid.globalVarName + '.processQueue();');
gutil.log('Generating bundle:', outputFileName);

// gutil.log('Concatenating files:\n', entries);
// gutil.log('Appending ' + prebid.globalVarName + '.processQueue();');
// gutil.log('Generating bundle:', outputFileName);
// console.timeEnd('Concating Starts');
return gulp.src(
entries
)
Expand All @@ -221,6 +259,10 @@ function bundle(dev, moduleArr) {
// If --notest is given, it will immediately skip the test task (useful for developing changes with `gulp serve --notest`)

function test(done) {
var KarmaServer = require('karma').Server;
var karmaConfMaker = require('./karma.conf.maker');
var helpers = require('./gulpHelpers');

if (argv.notest) {
done();
} else if (argv.e2e) {
Expand Down Expand Up @@ -292,10 +334,15 @@ function newKarmaCallback(done) {

// If --file "<path-to-test-file>" is given, the task will only run tests in the specified file.
function testCoverage(done) {
var KarmaServer = require('karma').Server;
var karmaConfMaker = require('./karma.conf.maker');

new KarmaServer(karmaConfMaker(true, false, false, argv.file), newKarmaCallback(done)).start();
}

function coveralls() { // 2nd arg is a dependency: 'test' must be finished
var shell = require('gulp-shell');

// first send results of istanbul's test coverage to coveralls.io.
return gulp.src('gulpfile.js', { read: false }) // You have to give it a file, but you don't
// have to read it.
Expand All @@ -306,6 +353,8 @@ function coveralls() { // 2nd arg is a dependency: 'test' must be finished
// More info can be found here http://prebid.org/overview/what-is-post-bid.html

function buildPostbid() {
var fs = require('fs');

var fileContent = fs.readFileSync('./build/postbid/postbid-config.js', 'utf8');

return gulp.src('./integrationExamples/postbid/oas/postbid.js')
Expand All @@ -314,6 +363,8 @@ function buildPostbid() {
}

function setupE2e(done) {
var gutil = require('gulp-util');

if (!argv.host) {
throw new gutil.PluginError({
plugin: 'E2E test',
Expand Down
109 changes: 109 additions & 0 deletions integrationExamples/gpt/gdpr_iframe_hello_world.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
<!--
This page calls a single bidder for a single ad slot. It can be considered a "hello world" example for using
Prebid with the Google Publisher Tag.
It also makes a good test page for new adapter PR submissions. Simply set your server's Bid Params object in the
bids array inside the adUnits, and it will use your adapter to load an ad.
NOTE that many ad servers won't send back an ad if the URL is localhost... so you might need to
set an alias in your /etc/hosts file so that you can load this page from a different domain.
-->

<html>
<head>
<script>
var PREBID_TIMEOUT = 700;

var adUnits = [{
code: 'div-gpt-ad-1460505748561-0',
sizes: [[300, 250], [300,600]],

// Replace this object to test a new Adapter!
bids: [{
bidder: 'appnexusAst',
params: {
placementId: '10433394'
}
}]

}];

var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];

</script>

<script type="text/javascript" src="../../build/dev/prebid.js" async></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});

pbjs.que.push(function() {
pbjs.addAdUnits(adUnits);
pbjs.setConfig({
consentManagement: {
cmpApi: 'iab',
timeout: 5000,
allowAuctionWithoutConsent: false
},
pubcid: {
enable: false
},
debug: true
});
pbjs.requestBids({
bidsBackHandler: sendAdserverRequest
});
});

function sendAdserverRequest() {
if (pbjs.adserverRequestSent) return;
pbjs.adserverRequestSent = true;
googletag.cmd.push(function() {
pbjs.que.push(function() {
pbjs.setTargetingForGPTAsync();
googletag.pubads().refresh();
});
});
}

// setTimeout(function() {
// sendAdserverRequest();
// }, PREBID_TIMEOUT);

</script>

<script>
(function () {
var gads = document.createElement('script');
gads.async = true;
gads.type = 'text/javascript';
var useSSL = 'https:' == document.location.protocol;
gads.src = (useSSL ? 'https:' : 'http:') +
'//www.googletagservices.com/tag/js/gpt.js';
var node = document.getElementsByTagName('script')[0];
node.parentNode.insertBefore(gads, node);
})();
</script>

<script>
googletag.cmd.push(function () {
googletag.defineSlot('/19968336/header-bid-tag-0', [[300, 250], [300, 600]], 'div-gpt-ad-1460505748561-0').addService(googletag.pubads());

googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>

<body>
<h2>Prebid.js Test</h2>
<h5>Div-1</h5>
<div id='div-gpt-ad-1460505748561-0'>
<script type='text/javascript'>
googletag.cmd.push(function() { googletag.display('div-gpt-ad-1460505748561-0'); });
</script>
</div>
</body>
</html>
10 changes: 10 additions & 0 deletions integrationExamples/gpt/gdpr_iframe_test.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<html>
<head>
<script>window.__cmp = {config: {logging: 'debug'}}</script>
<script src="//acdn.adnxs.com/cmp/cmp.complete.bundle.js" async></script>
</head>

<body>
<iframe src="../../integrationExamples/gpt/gdpr_iframe_hello_world.html" style="height:800px; width:800px" id="myId"/>
</body>
</html>
1 change: 1 addition & 0 deletions modules/.submodules.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
"unifiedIdSystem",
"pubCommonIdSystem",
"id5IdSystem",
"criteortusIdSystem",
"parrableIdSystem",
"britepoolIdSystem",
"liveIntentIdSystem",
Expand Down
1 change: 1 addition & 0 deletions modules/adformBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ const BIDDER_CODE = 'adform';
const GVLID = 50;
export const spec = {
code: BIDDER_CODE,
aliases: ['adform2', 'adform3'],
gvlid: GVLID,
supportedMediaTypes: [ BANNER, VIDEO ],
isBidRequestValid: function (bid) {
Expand Down
2 changes: 1 addition & 1 deletion modules/adgenerationBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const ADG_BIDDER_CODE = 'adgeneration';

export const spec = {
code: ADG_BIDDER_CODE,
aliases: ['adg'], // short code
aliases: ['adg', 'adg2'], // short code
supportedMediaTypes: [BANNER, NATIVE],
/**
* Determines whether or not the given bid request is valid.
Expand Down
1 change: 1 addition & 0 deletions modules/appnexusBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ export const spec = {
{ code: 'districtm', gvlid: 144 },
{ code: 'adasta' },
{ code: 'beintoo', gvlid: 618 },
{ code: 'dg' }
],
supportedMediaTypes: [BANNER, VIDEO, NATIVE],

Expand Down
Loading

0 comments on commit f838c2b

Please sign in to comment.